|
发表于 2012-8-9 11:25:47
|
显示全部楼层
江苏省盐城市
备注说明:
易语言 自绘教程 第11课 gdi+图形
在gdi+中,我们就暂时用不到设备场景句柄了
gdi+中取而代之的是图形,任何绘画都在图形中进行
举个例子:
这是一个绘画函数,DLL中的函数都由Gdip开头.DLL命令 GdipDrawRectangle, 整数型, "GdiPlus.dll", "GdipDrawRectangle"
.参数 graphics, 整数型
.参数 pen, 整数型
.参数 x, 小数型
.参数 y, 小数型
.参数 width, 小数型
.参数 height, 小数型
从函数名中可得知这是一个画矩形的函数
第一个参数graphics就是我们要讲的图形
第二个参数 pen就是画笔
下面的参数就是矩形区域了
下面我们就用这个函数来举例
首先我们得有一个图形和一只画笔
图形有三种创建方法
第一种 通过窗口句柄创建
第二种 通过由设备场景句柄创建
第三种 通过图像创建
图像先放一边,我们以后将到图像在讲
1,2两种,也是字面上的意思
下面贴上API
.DLL命令 GdipCreateFromHWND, 整数型, "gdiplus", "GdipCreateFromHWND"
.参数 hwnd, 整数型
.参数 graphics, 整数型, 传址
.DLL命令 GdipCreateFromHDC, 整数型, "gdiplus", "GdipCreateFromHDC"
.参数 hDC, 整数型
.参数 graphics, 整数型, 传址
从函数名上就可得知,第一个是创建自窗口句柄,第二个是创建自设备场景句柄
GdipCreateFromHWND
第一个参数是欲创建图形的窗口句柄,第二个则是一个存放图形指针的变量
GdipCreateFromHDC
第一个参数是欲创建图形的设备场景句柄,第二个则是一个存放图形指针的变量
所以我们可以写这样两个子程序
(注意:请勿忘记我们上节课的初始化!!!!!!!!!!!!!!!!!)
.子程序 创建图形_窗口句柄, 整数型, , 成功返回图形指针
.参数 窗口句柄, 整数型, , 欲创建图形的窗口句柄
.局部变量 临时图形, 整数型
GdipCreateFromHWND (窗口句柄, 临时图形)
返回 (临时图形)
.子程序 创建图形_设备场景, 整数型, , 成功返回图形指针
.参数 设备场景, 整数型, , 欲创建图形的设备场景
.局部变量 临时图形, 整数型
GdipCreateFromHDC (设备场景, 临时图形)
返回 (临时图形)
以上就是创建图形,我们还得用到一只画笔,画笔我就先不详解了
我们这里就先创建一只10像素,黑色的画笔为pen
GdipDrawRectangle(创建图形_窗口句柄(取窗口句柄()) ,pen,20,20,宽度-40,高度-60)
效果:
|
|