本文主要是介绍绘图二 框图 画笔 画刷,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/* * 绘图* * Rectangle(HDC, int, int, int, int); // 绘制矩形* Ellipse(HDC, int, int, int, int); // 绘制椭圆* RoundRect // 绘制圆角矩形* * Arc // 圆弧* Chord // 弓形* Pie // 扇形 * PolyBezier // 贝赛尔曲线** SelectObject // 选择一个GDI对象* * HPEN // 画笔句柄* CreatePen // 创建画笔* CreatePenIndirect // 创建逻辑画笔* LOGPEN // 逻辑画笔** DeleteObject // 删除一个GDI对象** GetStockObject // 获取备用对象 BLACK_PEN, GRAY_BRUSH** GetObject(hPen, sizeof(LOGPEN), (LPVOID)&logpen); // 根据画笔句柄,获得LOGPEN结构** GetCurrentObject(hdc, OBJ_PEN) // 获得当前选入的画笔句柄** SetBkColor // 设置背景色* GetBkColor // 获得背景色** SetBkMode // 设置背景模式 OPAQUE(不透明),默认; TRANSPARENT(透明)* GetBkMode // 获得背景模式** 光栅操作 ROP (raster operation); ROP2 二元光栅操作* SetROP2 // 设置绘图模式* GetROP2** HBRUSH // 画刷句柄** SelectObject(hdc, GetStockObject(NULL_PEN)) // 绘制不含边框的图形* SelectObject(hdc, GetStockObject(NULL_BRUSH))// 绘制不填充内部图形的边框** Polygon // 绘制多边形* PolyPolygon* * SetPolyFillMode // 多边形填充模式 默认ALTERNATE(交替); WINDING(螺旋)** 五种方式建立画刷* 1. CreateSolidBrush* 2. CreateHatchBrush // 阴影线画刷* 3. CreatePatternBruash // 位图画刷* 4. CreateDIBPatternBrushPt // 位图画刷* 5. CreateBruashIndirect LOGBRUSH // 逻辑画刷** GetObject(hBrush, sizeof(LOGBRUSH), (LPVOID)&logbrush);*/void DrawGraph(HDC hdc)
{Rectangle(hdc, 10, 10, 200, 400);Ellipse(hdc, 10, 10, 200, 400);int xyCornerEllipse = 900 - 500; // 使用相同的值,可以使角比较圆,参考P124RoundRect(hdc, 500, 100, 900, 700, xyCornerEllipse, xyCornerEllipse);
}void DrawGraph2(HDC hdc)
{Pie(hdc,100, 100, 400, 200, 250, 100, 100, 250);
}void DrawPen(HDC hdc)
{HPEN hPen = CreatePen(PS_SOLID, 1, BLACK_PEN);SelectObject(hdc, hPen);// 画线MoveToEx(hdc, 10, 10, NULL);LineTo(hdc, 300, 10);DeleteObject(SelectObject(hdc, GetStockObject(BLACK_PEN))); // 先选入,再删除// 创建画笔二LOGPEN logpen;POINT pt;pt.x = 1;logpen.lopnStyle = PS_DASH;logpen.lopnWidth = pt;logpen.lopnColor = BLACK_PEN;hPen = CreatePenIndirect(&logpen);HGDIOBJ hOldPen = SelectObject(hdc, hPen);MoveToEx(hdc, 10, 30, NULL);LineTo(hdc, 300, 30);DeleteObject(hOldPen);}
这篇关于绘图二 框图 画笔 画刷的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!