c++ API 在屏幕上(或窗口中)的(x,y)坐标绘制一个点

请问c++中那个API函数可以在屏幕上(或窗口中)的(x,y)坐标绘制一个点,最好给个例子,3Q!!!... 请问c++中那个API函数可以在屏幕上(或窗口中)的(x,y)坐标绘制一个点,最好给个例子,3Q!!! 展开
 我来答
高金山
推荐于2016-06-05 · TA获得超过1万个赞
知道大有可为答主
回答量:4101
采纳率:0%
帮助的人:1656万
展开全部
C++没有自己定义的画点函数,画点、画线等是属于图象库的内容,跟显示设备,如LCD相关。

下面是调用Windows的API实现画点的。

#include<windows.h>

int main( void )
{
// 获取一个可供画图的DC,我这里就直接用桌面算了
HDC hdc = GetWindowDC( GetDesktopWindow() );

// 创建红色1像素宽度的实线画笔
HPEN hpen1 = CreatePen( PS_SOLID, 1, RGB(255,0,0) );
// 创建绿色5像素宽度的破折画笔,如果你想创建其他种类的画笔请参阅MSDN
HPEN hpen2 = CreatePen( PS_DASH, 5, RGB(0,255,0) );
// 创建一个实体蓝色画刷
HBRUSH hbrush1 = CreateSolidBrush( RGB(0,0,255) );
// 创造一个透明的画刷,如果你想创建其他种类的画刷请参阅MSDN
HBRUSH hbrush2 = (HBRUSH)GetStockObject( NULL_BRUSH );

// 将hpen1和hbrush1选进HDC,并保存HDC原来的画笔和画刷
HPEN hpen_old = (HPEN)SelectObject( hdc, hpen1 );
HBRUSH hbrush_old = (HBRUSH)SelectObject( hdc, hbrush1 );

// 在(40,30)处画一个宽200像素,高50像素的矩形
Rectangle( hdc, 40, 30, 40+200, 30+50 );

// 换hpen1和hbrush1,然后在(40,100)处也画一个矩形,看看有何差别
SelectObject( hdc, hpen2 );
SelectObject( hdc, hbrush2 );
Rectangle( hdc, 40, 100, 40+200, 100+50 );

// 画个椭圆看看
Ellipse( hdc, 40, 200, 40+200, 200+50 );

// 画个(0,600)到(800,0)的直线看看
MoveToEx( hdc, 0, 600, NULL );
LineTo( hdc, 800, 0 );

// 在(700,500)处画个黄点,不过这个点只有一像素大小,你细细的看才能找到
SetPixel( hdc, 700, 500, RGB(255,255,0) );

// 恢复原来的画笔和画刷
SelectObject( hdc, hpen_old );
SelectObject( hdc, hbrush_old );

return 0;
}

参考资料: http://hi.baidu.com/xulei1143/blog/item/064d831bf7d2a6188618bf80.html

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式