请问在visual c++环境下画点的函数是哪个?

 我来答
就烦条0o
推荐于2018-05-10 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部

在vc中使用SetPixel()函数来画点,SetPixel函数说明:

函数功能:该函数将指定坐标处的像素设为指定的颜色。

COLORREF SetPixel(HDC hdc, int X, int Y, COLORREF crColor);

参数
hdc
设备环境句柄。
X
指定要设置的点的X轴坐标,按逻辑单位表示坐标。
Y
指定要设置的点的Y轴坐标,按逻辑单位表示坐标。
crColor
指定要用来绘制该点的颜色。
返回值
如果函数执行成功,那么返回值就是函数设置像素的RGB颜色值。这个值可能与crColor指定的颜色有所不同,之所以有时发生这种情况是因为没有找到对指定颜色进行真正匹配造成的。
如果函数失败,那么返回值是-1。
Windows NT:若想获得更多的 错误信息,请调用GetLastError函数。
备注
如果像素点坐标位于当前剪辑区之外,那么该函数执行失败。
不是所有设备都支持SetPixel函数。有关详情,请参考 GetDeviceCaps。


使用SetPixel函数画点只改变一个像素,分辨率高时很不明显,可以使用MoveTo和LineTo函数,先通过CreatePen设置Pen,把Pan调整到需要的大小,然后通过MoveTo(x,y); LineTo(x,y);绘制即可。示例代码如下:

HDC hdc;//设备场景DC
PAINTSTRUCT ps;
HEPN hPen;
hdc = BeginPaint( hWnd , &ps );
hPen = CreatePen( PS_SOLID , 3 , RGB( 255, 0, 0 ));
MoveTo( hdc, 100, 100);
LineTo( hdc, 100, 100);
SelectObject (hdc, hOldPen);
DeleteObject ( hPen );
EndPaint ( hWnd, &ps );
百度网友7483f44
2007-04-09 · TA获得超过1195个赞
知道小有建树答主
回答量:662
采纳率:0%
帮助的人:1020万
展开全部
在vc中我都是用SetPixel()来画点的

不过画出来的点太小了,不容易辨认

我想把点画的大一些,有没有好的办法

我曾经用过这样的方法,不过感觉比较麻烦

先选Pen,将Pen的粗细程度改大一点,如5,8,10等等

如果想在(100,100)画点的话,就可以用下面的语句实现

MoveTo(100,100);

LineTo(100,100);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式