创建和使用画笔

Posted ly570

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建和使用画笔相关的知识,希望对你有一定的参考价值。

面的绘图使用的是Windows的默认画笔,也就是宽度为1个像素,颜色为黑色的画笔。我们也可以创建自己的画笔。

创建画笔的API函数为 CreatePen:

HPEN CreatePen(http://www.amjmh.com/v/BIBRGZ_558768/)
int nPenStyle, //画笔的样式
int nWidth, //画笔的宽度
COLORREF crColor //画笔的颜色
);
1
2
3
4
5
画笔样式 nPenStyle 有7种取值:

画笔宽度 nWidth 指逻辑宽度。iWidth为 0 则意味着画笔宽度为一个像素。如果画笔样式为点线或者虚线,同时又指定一个大于 1 的画笔宽度,那么Windows将使用实线画笔来代替。

画笔的颜色 crColor 可以直接使用 RGB 颜色。RGB 是一种标准颜色,通过红®、绿(G)、蓝(B)三原色的叠加得到各种不同的颜色。

CreatePen 函数在创建画笔时并没有指定设备环境,也就是说,新创建的画笔与当前设备环境并没有关联,无法使用。

画笔、画刷、字体等被称为GDI对象。可以将GDI对象理解为工具,可以供 GDI 函数使用。新创建的 GDI 对象必须通过 SelectObject 函数选入设备环境才能使用。

SelectObject 函数将GDI对象与设备环境关联起来,它的原型为:

HGDIOBJ SelectObject(
HDC hdc, //设备环境句柄
HGDIOBJ ho //GDI对象句柄
);
--------------------- 

以上是关于创建和使用画笔的主要内容,如果未能解决你的问题,请参考以下文章

c# GDI和winforms中的径向渐变画笔效果

创建透明的自定义位图画笔

mentalcanvas怎么用画笔

为啥画笔窗格被锁定?

Gdiplus::Pen画笔

[UWP]使用CompositionLinearGradientBrush实现渐变画笔并制作动画