GDI基本几何绘图

首先我们得搞出一支笔
笔的名字叫HPEN
HPEN CreatePen(
In int fnPenStyle,//笔样式
In int nWidth,//线条宽度
In COLORREF crColor//线条颜色
);

笔样式如下:
/* Pen Styles /
#define PS_SOLID 0
#define PS_DASH 1 /
------- /
#define PS_DOT 2 /
/
#define PS_DASHDOT 3 /
... /
#define PS_DASHDOTDOT 4 /
…_ */
#define PS_NULL 5
#define PS_INSIDEFRAME 6
#define PS_USERSTYLE 7
#define PS_ALTERNATE 8
#define PS_STYLE_MASK 0x0000000F

#define PS_ENDCAP_ROUND 0x00000000
#define PS_ENDCAP_SQUARE 0x00000100
#define PS_ENDCAP_FLAT 0x00000200
#define PS_ENDCAP_MASK 0x00000F00

#define PS_JOIN_ROUND 0x00000000
#define PS_JOIN_BEVEL 0x00001000
#define PS_JOIN_MITER 0x00002000
#define PS_JOIN_MASK 0x0000F000

#define PS_COSMETIC 0x00000000
#define PS_GEOMETRIC 0x00010000
#define PS_TYPE_MASK 0x000F0000

#define AD_COUNTERCLOCKWISE 1
#define AD_CLOCKWISE 2

或者搞出一支刷子
刷子的名字叫HBRUSH
HBRUSH CreateSolidBrush(//实心
In COLORREF crColor
);
HBRUSH CreateHatchBrush(//阴影
In int fnStyle,//阴影样式
In COLORREF cirref//前景色颜色值
);

刷样式如下:
#define HS_HORIZONTAL 0 /* ----- /
#define HS_VERTICAL 1 /
||||| /
#define HS_FDIAGONAL 2 /
\\\ /
#define HS_BDIAGONAL 3 /
/ /
#define HS_CROSS 4 /
+++++ /
#define HS_DIAGCROSS 5 /
xxxxx */
#define HS_API_MAX 12

然后把笔拿起来
拿笔的过程叫SelectObject
HGDIOBJ SelectObject(
In HDC hdc,//不用解释
In HGDIOBJ hgdiobj);//选用对象的句柄
调用则创建一个HGDIOBJ对象,使用完毕需要释放
释放的函数叫DeleteObject
BOOL DeleteObject(In HGDIOBJ hObject);

绘制的时候,使用MoveToEx设置画笔起点,使用LineTo设置画笔终点
BOOL MoveToEx(
In HDC hdc,
In int x,
In int y,
out LPPOINT lpPoint//一个POINT STRUCT 类型的指针,表示保留上一个点的位置,为NULL则不保存
);
BOOL LineTo(
In HDC hdc,
In int nXEnd,
In int nYEnd
);

绘制矩形
BOOL Rectangle(
In HDC hdc,
In int nLeftRect,
In int nTopRect,
In int nRightRect,
In int nBottomRect,
);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值