GDI图像处理

来源:互联网 发布:批量注册淘宝账号 编辑:程序博客网 时间:2024/06/03 05:08

点的绘制:SetPixel,返回值就是设置颜色之前,点的颜色。

获取指定点的颜色:GetPixel:获取点的颜色值。


线的绘制:MoveToEx:设置线的绘制的起始点。

LineTo:画线。两个函数联合使用,就画出了一条线。 


绘制矩形:Rectangle,绘制矩形,必须要知道矩形边框的颜色,和矩形内部的填充色。


绘制圆或椭圆:Ellipse。


绘制饼:Pie。


库存画笔的选用:SelectObject(hdc,GetStockObject(WHITE_PEN));


自定义画笔的使用:CreatePen。


填充图形:

Rectangle、Ellipse和Pie函数用DC所选进的画刷来填充图形的内部。


创建画刷:

1,创建单色画刷:CreateSolidBrush。

2,创建带有图案的画刷:

       方式一:是创建带有阴影图案的画刷,采用CreateHatchBrush;

       方式二:是创建带有自定义位图的画刷,采用CreatePattenBrush。


GDI+中的颜色有两种表示法:RGB和ARGB。  A:是透明度通道。


透明度合成运算:

透明度是像素之间的一种合成运算。

输出颜色=前景色*Alpha/255+背景色*(255-Alpha)/255.

比如假设一个点,其颜色值为RGB(0,0,0),背景色值为RGB(255,255,255),在进行输出的时候将透明度设置为100,输出的颜色为:

Red=0*255/255+255*(255-100)/255=155.


GDI+主要类:

Graphics:绘图类。

Bitmap:位图类。

常用的画刷:

单色画刷类:SolidBrush。用纯色填充图形。

影线画刷类:HatchBrush,用各种线型图案填充图形。

纹理画刷类:TextureBrush,使用图像来填充图形。

线性渐变画刷类:LinearGradientBrush,使用渐变的色彩填充图形,渐变是指一种颜色沿着指定的方向慢慢变成另一种颜色。


GDI和GDI+的混合编程:

GDI+在GDI的设备环境DC上进行图形的绘制:Graphics gs(hDC);其中参数hDC就是GDI的设备环境DC,GDI+就会把当前的hDC作为默认的目标画布,之后调用Graphics中的任何函数都会被绘制到hDC上。当然,每个函数的调用完成并不会立即反应到hDC上,只有当Graphics类析构的时候,才会把所有绘制的内容全部一次性地拷贝到hDC中。

GDI在GDI+的Graphics上面进行图形的绘制,Graphics提供了获得HDC的函数,GetHDC(),这样我们就可以在hDC上进行GDI函数的绘制了。