windows绘图SetPixel、MoveTo、LineTo、CreatePen、SelectObject、DeleteObject、CreateSolidBrush、CreateHatchBrus

绘图
绘图设备
DC(Device Context),绘图上下文或绘图描述表(大名鼎鼎,非常出名)

//伪代码
HDC hdc = BeginPaint(hwnd,&ps);
TextOut(hdc,100,100,"hello",...);
...
EndPaint(hdc);

HDC-DC句柄,表示绘图设备
GDI-Windows graphics device interface (Win API)
颜色
计算机使用红、绿、蓝
R-0~255
G-0~255
B-0~255
每一个颜色是3字节24位保存0~2^24-1 (16M种颜色)
16位:5(R),5(G),6(B)
24位:8(R),8(G),8(B)微软系统现在用
32位:8(R),8(G),8(B),8(绘图或透明度)32位二维绘图引擎不提供,只有三维引擎才能支持
颜色的使用
COLORREF-实际DWORD
例如:COLORREF nColor = 0;
赋值使用RGB宏
例如:nColor = RGB(0,0,255); //蓝色
nColor = RGB(255,0,0); //红色
nColor = RGB(0,255,0); //绿色

#define RGB(r,g,b)          ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))

获取RGB值 返回RGB三种颜色的配比
GetRValue 获得红色配比
GetGValue 获得绿色配比
GetBValue 获得蓝色配比
例如:BYTE nRed = GetRValue(nColor);

//GetRVaue、GetGValue、GetBValue是宏定义
#define GetRValue(rgb)      (LOBYTE(rgb))
#define GetGValue(rgb)      (LOBYTE(((WORD)(rgb)) >> 8))
#define GetBValue(rgb)      (LOBYTE((rgb)>>16))

基本图形绘制
点绘制 SetPixel 设置指定点的颜色

COLORREF 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值