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

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 函数的作用是刷新用户区,(使区域无效)
时间: 2024-10-31 16:18:31

vc绘图工具、颜色和绘图函数的相关文章

python的绘图工具matplotlib使用实例_python

matplotlib是功能十分强大的绘制二维图形的Python模块,它用Python语言实现了MATLAB画图函数的易用性,同时又有非常强大的可定制性.它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序.因此如果你需要绘制某种类型的图,只需要在这个页面中浏览.复制.粘贴一下,基本上都能搞定! 实例代码如下: 1. 柱状图 import matp

FW MX 2004教程(2):绘图工具

教程 和许多主流的图像处理软件一样,Fireworks的绘图工具主要都集中在"工具条"上.利用这些工具可以绘制出各种图形,并可为其设置相应的属性,如颜色.大小.位置等等. Fireworks MX 2004的"工具条"中增加了不少新工具,并与原有的工具在一起被编排为六个类别:选择区.位图.矢量.Web.颜色和视图区.有些工具按钮的右下角有一个小三角,说明这个工具包含有其它几种不同的工具,按住这个工具按钮不放就能显示其它的工具. 我们先来介绍位图区的绘图工具. 1.选

Flash 8 新功能使用技巧实战(4):绘图工具

技巧 上一节:Flash 8 新功能实例使用技巧(3):混合模式 第四部分:Flash 8 绘图工具的改进 Flash 8 的绘图工具也有了一些改进,虽然没有重大功能的改变,但是在细节处理上增添了许多方便我们绘制线条或图形的功能,在本节中,我们就来详细了解这些功能的改进.(下载本文的实例源文件, 9KB) 1.对象的绘制 在以前版本的Flash中,如果我们使用绘图工具绘制两个重叠但不互相结合到一起的对象时,需要分别将两个对象转换为元件,或者单独放在两个图层中才可以实现,否则两个对象会重叠联合在一

flash8.0基础绘图工具

在计算机绘图领域中,根据成图原理和绘制方法的不同,分为矢量图和位图两种类型. 矢量图形是由一个个单独的点构成的,每一个点都有其各自的属性,如位置.颜色等.因此,矢量图与分辨率无关,对矢量图进行缩放时,图形对象仍保持原有的清晰度和光滑度,不会发生任何偏差,如图2-0-1所示是放大了16倍的矢量图效果. 图2-0-1 矢量图放大到16倍时依然清晰 位图图像是由象素点构成的,象素点的多少将决定位图图像的显示质量和文件大小,位图图像的分辨率越高,其显示越清晰,文件所占的空间也就越大.因此,位图图像的清晰

10款最佳HTML5绘图工具

  HTML5无疑是当前最受宠的一项技术,每个web设计者都在热烈的讨论这种神奇的标记语言的兴起.HTML5是一种学起来毫不费力的标记语言,但它却能提供迷人的.富有艺术性的特征,帮助web设计人员完成他们的构思想象.HTML5对于一个设计人员来说能毫不费力的理解,轻松的掌握. 草绘和制图是设计工作者工作中一个重要的特征.HTML5将会这方面显露出不可限量的前途. 今天,我给web设计人员收集了几款最好的HTML5绘图或涂鸦工具.这些绘图工具大多数是用HTML5画布(Canvas)实现的,部分辅以

flash铅笔绘图工具教程

使用铅笔工具可以刻画出线条和其他形状,就像使用真正的铅笔一样.画出线条后,Flash会根据情况对它进行拉直或平滑处理.处理的模式依画线模式的不同而不同,Flash还可以以一定的角度来连接两线.本篇文章就为大家介绍Flash的铅笔绘图工具. "铅笔工具"如下图所示. 铅笔工具是用于绘制线条的工具.按住鼠标左键并在拖动的同时按下"Shift"键,可以绘制出水平或垂直的线条,如下图所示. 选择"铅笔工具"后,可以在工具属件选项中选择伸直.平滑和墨水三种

flash基础教程-铅笔绘图工具

使用铅笔工具可以刻画出线条和其他形状,就像使用真正的铅笔一样.画出线条后,Flash会根据情况对它进行拉直或平滑处理.处理的模式依画线模式的不同而不同,Flash还可以以一定的角度来连接两线.本篇文章就为大家介绍Flash的铅笔绘图工具. "铅笔工具"如下图所示. 铅笔工具是用于绘制线条的工具.按住鼠标左键并在拖动的同时按下"Shift"键,可以绘制出水平或垂直的线条,如下图所示. 选择"铅笔工具"后,可以在工具属件选项中选择伸直.平滑和墨水三种

巧用绘图工具为文档添加背景色

很多文字工作者,长期在电脑前打字,面对一成不变的"白纸黑字",不仅容易产生"审美疲劳",更使我们心灵的窗户"很受伤".能否为文档设置不同的"背景色",从而缓解我们眼睛的疲劳呢? 其实,WPS2007已经为我们提供了"蓝底白字"功能:从"工具"菜单中选择"选项",并在其中的"常规与保存"选项卡中选中"蓝底白字"(图1),原本刺眼的

巧用WPS文字绘图工具绘制标准图形

平时在用WPS编辑文档过程中,有时需要在文档中绘制(插入)图形,来配合文档对某一事件进行辅助说明,以达到深入浅出.通俗易懂的目的.但在实际操作过程中,有时看似简单的图形,可绘制起来却困难重重,因为在WPS绘图工具提供的自选图形中,并没有提供相应的图形供我们使用,而此时如果采用专业绘图软件,一来对专业知识要求高,操作复杂,二来也有点大材小用的感觉.其实,在WPS中如果对绘制的图形要求不是过于专业的话,只要我们多动脑筋,利用 WPS绘图工具中的自选图形,在加一些操作技巧可以绘制出来的. 一.基础技巧