vc绘图工具、颜色和绘图函数

原创 2007年09月18日 23:45:00

1、画笔

有两种形式创建画笔

一是直接通过GetStockObject()函数来调用

二是通过创建画笔来调用

 HPEN CreatePen(
  int
fnPenStyle,    // pen style
  int nWidth,        // pen width
  COLORREF crColor   // pen color
);
 

创建画笔后必须调用SelectObject函数来将起选入设备环境;

删除画笔可通过DeleteObject 函数来实现;

2、画刷

创建画刷

一是通过GetStockObject函数来调用

二是通过调用CreateSolidBrush 和CreateHatchBrush来创建画刷

HBRUSH CreateSolidBrush(
  COLORREF crColor   // brush color value
);
HBRUSH CreateHatchBrush(
  int fnStyle,      // hatch style
  COLORREF clrref   // color value
);
3、颜色
通过RGB函数来实现;
4、常用的绘图函数
设置画笔当前的位置函数MoveToEx
BOOL MoveToEx(
  HDC hdc,          // handle to device context
  int X,            // x-coordinate of new current position
  int Y,            // y-coordinate of new current position
  LPPOINT lpPoint   // pointer to old current position
);
从当前位置向指定坐标点画直线的函数LineTo
BOOL LineTo(
  HDC hdc,    // device context handle
  int nXEnd,  // x-coordinate of line's ending point
  int nYEnd   // y-coordinate of line's ending point
);

从当前位置开始,依次用线段连接lpPoints中指定各点的函数Polyline
BOOL Polyline(
  HDC hdc,            // handle to device context
  CONST POINT *lppt,  // pointer to array containing endpoints
  int cPoints         // number of points in the array
);
椭圆弧线Arc
BOOL Arc(
  HDC hdc,         // handle to device context
  int nLeftRect,   // x-coord of bounding rectangle's upper-left corner
  int nTopRect,    // y-coord of bounding rectangle's upper-left corner
  int nRightRect,  // x-coord of bounding rectangle's lower-right corner
  int nBottomRect, // y-coord of bounding rectangle's lower-right corner
  int nXStartArc,  // first radial ending point
  int nYStartArc,  // first radial ending point
  int nXEndArc,    // second radial ending point
  int nYEndArc     // second radial ending point
);
画一个饼图并用当前的画刷进行填充Pie
BOOL Pie(
  HDC hdc,         // handle to device context
  int nLeftRect,   // x-coord of bounding rectangle's upper-left corner
  int nTopRect,    // y-coord of bounding rectangle's upper-left corner
  int nRightRect,  // x-coord of bounding rectangle's lower-right corner
  int nBottomRect, // y-coord of bounding rectangle's lower-right corner
  int nXRadial1,   // x-coord of first radial's endpoint
  int nYRadial1,   // y-coord of first radial's endpoint
  int nXRadial2,   // x-coord of second radial's endpoint
  int nYRadial2    // y-coord of second radial's endpoint
);
 
画一个矩形,并填充Rectangle
BOOL Rectangle(
  HDC hdc,         // handle to device context
  int nLeftRect,   // x-coord of bounding rectangle's upper-left corner
  int nTopRect,    // y-coord of bounding rectangle's upper-left corner
  int nRightRect,  // x-coord of bounding rectangle's lower-right corner
  int nBottomRect  // y-coord of bounding rectangle's lower-right corner
);
画一个椭圆并填充Ellipse
BOOL Ellipse(
  HDC hdc,        // handle to device context
  int nLeftRect,  // x-coord of bounding rectangle's upper-left corner
  int nTopRect,   // y-coord of bounding rectangle's upper-left corner
  int nRightRect, // x-coord of bounding rectangle's lower-right corner
  int nBottomRect // y-coord of bounding rectangle's lower-right corner
);
画一个多边形,并进行填充Polygon
BOOL Polygon(
  HDC hdc,                // handle to device context
  CONST POINT *lpPoints,  // pointer to polygon's vertices
  int nCount              // count of polygon's vertices
);
InvalidateRect 函数的作用是刷新用户区,(使区域无效)
 

VC获取屏幕任意点的RGB值

  • 2010年03月30日 09:50
  • 14.03MB
  • 下载

VC++修改对话框颜色方法

在软件开发中,出于界面的美观或是别的目的我们需要修改对话框的颜色,这时我们可以通过如下方法来达到目的。 注:本例使用VC++2010测试, 以下第一种方法不适合该版本的VC++库。...
  • xbmoxia
  • xbmoxia
  • 2014年09月10日 16:48
  • 1308

VC控制台程序中字体颜色和背景设置

在VC中开发程序,有时候为了使开发的控制台程序更加漂亮,我们需要设置显示字体的颜色和窗口背景颜色,针对本人实际开发经历,写一篇文章保留参考。 1.改变整个控制台的颜色 用 system("color...
  • haizimin
  • haizimin
  • 2013年12月05日 15:30
  • 2782

VC编程使用HSB(HSV)色彩空间实现色差比较

VC编程使用HSB(HSV)色彩空间实现色差比较 VC编程实现色彩空间RGB与HSB(HSV)相互转换、VC编程实现色彩空间XYZ与LAB相互转换、VC编程实现色彩空间XYZ与LAB相互转换...
  • lxw907304340
  • lxw907304340
  • 2015年05月05日 14:15
  • 924

解决VC助手出现的颜色问题

问题描述: 1、书写的代码中部分关键字并没有变成蓝色,如int 是蓝色字体,但是CString就不是蓝色,而是黑色, 请教高手这是什么原因? 2、在用VC++的MFC做一应用程序的时候,发现我...
  • gneveek
  • gneveek
  • 2016年06月19日 21:34
  • 900

VC编程实现位图处理类(显示位图、加载位图、获取/设置像素点颜色)

VC编程实现位图处理类(显示位图、加载位图、获取/设置像素点颜色) 前面的文章介绍了VC编程实现色彩空间之间相互转换的计算原理、公式和具体的VC实现代码,本文将以此为基础,介绍VC编程进行位...
  • lxw907304340
  • lxw907304340
  • 2015年05月05日 14:16
  • 1663

用VC如何改变编辑框的背景颜色

用VC如何改变编辑框的背景颜色 在VC中,编辑框的颜色改变起来似乎很难,MFC的CEdit类后没有提供可改变颜色的函数。在本文中,我们将重载CEdit类,编写一个可以改变背景颜色的类CMyEdit类...
  • songshu1007
  • songshu1007
  • 2014年05月09日 10:57
  • 1091

VC之列表控件背景色设置

本文简单介绍下VC程序中list列表控件的背景设置。 1.新建对话框应用程序 首先,新建对话框应用程序,然后添加两个list列表控件 2.设置控件模式为报告模式 ...
  • bingdianlanxin
  • bingdianlanxin
  • 2015年04月05日 19:23
  • 1524

更改static字体大小和颜色

1. 改变CStatic字体大小
  • phenixyf
  • phenixyf
  • 2014年08月01日 15:13
  • 5318

VC字体颜色&VC助手

问题:    1、书写的代码中部分关键字并没有变成蓝色,如int是蓝色字体,但是CString就不是蓝色,而是黑色,请教高手这是什么原因 2、在用VC++的MFC做一应用程序的时候,发现我的c...
  • cjjwwss
  • cjjwwss
  • 2013年07月18日 22:04
  • 463
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vc绘图工具、颜色和绘图函数
举报原因:
原因补充:

(最多只允许输入30个字)