今天我们来欣赏一下用于填充图形的函数,当然我不会逐个去介绍,因为我们参考MSDN直接套参数 就可以了。
SetDCBrushColor函数有必要扯一下,它的声明如下:
COLORREF SetDCBrushColor( __in HDC hdc, __in COLORREF crColor );
第二个参数,通过RGB宏产生COLORREF传进去就可以了,比如这样:
SetDCBrushColor(ps.hdc,RGB(211,254,41));
但是,如果只是调用这个函数,你会发现 在绘图的时候,画刷的颜色还是没有变化,因为我们还没有将HBRUSH的默认画刷DC_BRUSH选到DC中去。 所以,在调用SetDCBrushColor之前,要把默认的画刷先放到设备上下文,默认画刷可以通过 GetStockObject(DC_BRUSH)获得。
SelectObject(ps.hdc,GetStockObject(DC_BRUSH));
接下来我们可以尝试填充几个图形试试,如矩形、椭圆、饼图等。
case WM_PAINT: { BeginPaint(hwnd,&ps); SelectObject(ps.hdc,GetStockObject(DC_BRUSH)); SetDCBrushColor(ps.hdc,RGB(0,0,255)); Rectangle(ps.hdc,20,18,68,50); SetDCBrushColor(ps.hdc,RGB(220,32,70)); Rectangle(ps.hdc,125,100,230,300); SetDCBrushColor(ps.hdc,RGB(30,235,12)); Ellipse(ps.hdc,270,80,390,223); SetDCBrushColor(ps.hdc,RGB(35,160,242)); Chord(ps.hdc,185,260,420,480,190,260,405,479); SetDCBrushColor(ps.hdc,RGB(211,254,41)); Pie(ps.hdc,35,320,300,600,56,470,60,360); EndPaint(hwnd,&ps); } return 0;
每一次调用SetDCBrushColor都会改变画刷的颜色,所以,比如你希望绘制蓝 色的矩形,在调用Rectangle之前就要调用SetDCBrushColor修改画刷颜色,然后再画矩形。我们可以看 看上面代码的最终效果。
开发入门(10) 绘图(C)-win32开发入门">
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索函数
, rgb
, ps
, 矩形
, chord peersim
, rectangle
HDC
win32开发入门、win32双缓冲绘图、win32 gdi 绘图、win32 绘图、stm32开发入门,以便于您获取更多的相关知识。