画图,就是画线、框、圆等
基本步够,
- 先设置笔,用来画线条,或框和圆的边线。 \
例:gg.Pen 线宽度,颜色值 - 设置刷子,用来填充框和圆的内部,线条无效。 \
例:gg.Brush 颜色值 - 使用画框画圆等作画 \
依照笔和刷子来画画
设置笔和刷永久有效,若不改变,无需重复设置。默认为 1线条黑色,无填充。
注意:
下面所有用到的坐标和尺寸,都是像素单位,自动响应DPI
响应DPI:数值都按照 100%DPI时设置,代码会根据系统中的DPI自动换算,让我们的软件可以在任何电脑中不同 DPI下都看上去一样。
成员列表
Sub Pen(ByVal cWidth As Long, ByVal crColor As Long, ByVal iStyle As Long = PS_SOLID) '设置笔,画框线用 {3.PS_NULL 无线.PS_SOLID 实线.PS_DASH 虚线.PS_DOT 点线.PS_DASHDOT 点划线.PS_DASHDOTDOT 点-点划线.PS_INSIDEFRAME 由椭圆、矩形、圆角矩形、饼图以及弦等生成的封闭对象框时,画线宽度向内扩展。如指定的准确RGB颜色不存在,就进行抖动处理}
Sub Brush(ByVal crColor As Long = -1) '设置刷子,用于填充颜色 -1为空刷子
Sub BrushHatch(fnStyle As Long, crColor As Long = 0) '设置 样式 刷子,用于填充 {1.HS_BDIAGONAL 从右到左45度 斜纹.HS_CROSS 十字线.HS_DIAGCROSS 45度十字线.HS_FDIAGONAL 从左到右45度 斜纹.HS_HORIZONTAL 水平纹.HS_VERTICAL 垂直纹}
Sub DrawLine(ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) '画线条,位置1到位置2
Sub DrawArc(ByVal X As Long, ByVal Y As Long, ByVal W As Long, ByVal H As Long, ByVal StartAngle As Single, ByVal EndAngle As Single) '画圆弧,x y w h 一个假想的圆,位置和宽度高度 , StartAngle 相对于x轴的起始角度(以度为单位)。0度为原的右边中部 , EndAngle 顺时针转了多少角度
Sub DrawFrame(ByVal X As Long, ByVal Y As Long, ByVal W As Long = 0, ByVal H As Long = 0) '画框 位置和宽度高度
Sub DrawCircleFrame(ByVal X As Long, ByVal Y As Long, ByVal W As Long, ByVal H As Long, ByVal wC As Long, ByVal hC As Long) '描绘一个圆角矩形,位置和宽度高度、宽圆和高度圆
Sub DrawEllipse(ByVal X As Long, ByVal Y As Long, ByVal W As Long, ByVal H As Long) '描绘一个椭圆,位置和宽度高度
Sub DrawPolygon(POINTS() As Point) '描绘多边形 顶点数必须大于或等于2。
Pen 笔,框线
(ByVal cWidth As Long, ByVal crColor As Long, ByVal iStyle As Long = PS_SOLID)
设置笔的大小和颜色,用于画框线用
- cWidth 宽度,单位像素(自动相应 DPI,设置为 100%DPI时的数值)
- crColor 颜色,RGB颜色,GDI颜色值,用 BGR(r,g,b) 获取
- iStyle 线条样式,默认 PS_DASH
PS_NULL 无线
PS_SOLID 实线
PS_DASH 虚线
PS_DOT 点线
PS_DASHDOT 点划线
PS_DASHDOTDOT 点-点划线
PS_INSIDEFRAME 由椭圆、矩形、圆角矩形、饼图以及弦等生成的封闭对象框时,画线宽度向内扩展。如指定的准确RGB颜色不存在,就进行抖动处理
Brush 刷子,填充
(ByVal crColor As Long = -1)
设置刷子,用于矩形、多边形、椭圆等填充颜色
- crColor 颜色,RGB颜色,GDI颜色值,用 BGR(r,g,b) 获取,等于-1 不填充
BrushHatch 样式刷子
(fnStyle As Long, crColor As Long = 0)
'设置 样式 刷子,用于填充
- fnStyle 样式
HS_BDIAGONAL 从右到左45度 斜纹
HS_CROSS 十字线
HS_DIAGCROSS 45度十字线
HS_FDIAGONAL 从左到右45度 斜纹
HS_HORIZONTAL 水平纹
HS_VERTICAL 垂直纹
- crColor 颜色,RGB颜色,GDI颜色值,用 BGR(r,g,b) 获取
DrawLine 描绘线条
(ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long)
'画线条,位置1到位置2
- x1,y1 开始位置
- x2,y2 结束位置
DrawArc 描绘圆弧
(ByVal X As Long, ByVal Y As Long, ByVal W As Long, ByVal H As Long, ByVal StartAngle As Single, ByVal EndAngle As Single)
- x,y,w,h 一个假想的圆,就是描绘这个椭圆上的某个线段
- StartAngle 相对于x轴的起始角度(以度为单位)0度为原的右边中部
- EndAngle 顺时针转了多少角度
DrawFrame 描绘矩形
(ByVal X As Long, ByVal Y As Long, ByVal W As Long = 0, ByVal H As Long = 0)
- x,y 矩形左上角位置
- w,h 矩形大小,等于0 将会描绘画板的最大尺寸
DrawCircleFrame 描绘圆角矩形
(ByVal X As Long, ByVal Y As Long, ByVal W As Long, ByVal H As Long, ByVal wC As Long, ByVal hC As Long)
- x,y,w,h 矩形左上角位置和尺寸
- wC ,hC 圆角的大小,分宽度和高度圆
DrawEllipse 描绘椭圆
(ByVal X As Long, ByVal Y As Long, ByVal W As Long, ByVal H As Long)
- x,y,w,h 椭圆左上角位置和尺寸
DrawPolygon 描绘多边形
(POINTS() As Point)
- POINTS() 顶点数数组,必须大于或等于2。多边形每个顶点坐标,首尾会自动闭合。
Dim p(2) As Point '画个三角形 p(0).x = 10 : p(0).y = 0 p(1).x = 20 : p(1).y = 10 p(2).x = 0 : p(2).y = 10 gg.DrawPolygon(p())
评论一下?