位图操作支持库(1.0-2).zip
下载: zip 文件 逆风编程精品
支持库名称及版本:位图操作支持库(1.0#2版)
所支持语言:中文(大陆)
该支持库实现了对位图(*.bmp)文件数据的操作。
本库为一般支持库,需要易系统3.8版本的支持,需要系统核心支持库3.7版本的支持,提供了1种库定义数据类型,提供了29种命令。
操作系统需求: Windows
----- 支持库的作者信息 -----
作者姓名:大有吴涛易语言软件公司
邮政编码:116001
通信地址:辽宁省大连市中山区人民路55号亚太国际金融中心
电话号码:+86(0411)88995831
传真号码:+86(0411)88995834
电子信箱:service@dywt.com.cn
主页地址:http://dywt.com.cn
其它信息:祝您一帆风顺,心想事成!
构造函数() “设备无关位图”类型的构造函数。隐藏
析构函数() “设备无关位图”类型的析构函数。隐藏
复制构造函数() “设备无关位图”类型的复制构造函数。隐藏
取错误信息() 在调用本数据类型的其他命令失败后可以随后立即调用本命令取得失败的原因。如果前一个操作是成功的,返回空文本。
载入文件() 从bmp文件载入位图数据,成功返回真,失败返回假。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
载入数据() 从字节集或资源载入位图数据,成功返回真,失败返回假。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
取位图数据() 取得该位图的二进制数据,数据格式为BMP文件格式,可以直接把本数据赋值给组件的“图片”/“底图”等属性或写到一个*.bmp文件。失败返回空字节集。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
取宽度() 取得该位图的实际宽度,失败返回-1。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
取高度() 取得该位图的实际高度,如果该位图的颜色点阵为正向(top-down)存储,高度为负值(不常见)。失败返回-1。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
取位深度() 取得该位图中颜色的位深度。失败返回-1。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。有效的返回值及其含义如下:
1: 单色;
4: 4位色(16色);
8: 8位色(256色);
16: 16位色(65536色);
24: 24位色(16777216色);
32: 32位色(4294967296色)。
创建() 创建一个指定大小、位深度的位图,本对象内原有数据会被自动释放。成功返回真,失败返回假。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
取颜色表() 取得该位图使用的颜色表数据(注意,位深度大于等于16的位图不使用颜色表)。成功返回一个包含颜色表数据的数组,失败返回空数组(成员数为0)。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
取像素点阵() 取得该位图中代表实际像素点阵的数据,该数据的排列格式取决于该位图的位深度和实际宽度,具体请参阅相关资料。失败返回空字节集。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
取某点颜色() 取得该位图中某点的实际颜色值,以位图的左上角为坐标原点。注意,对位深度为16的位图,取得的颜色可能有少许误差,这是由16位位图的特殊内部结构决定的。如果指定的像素点坐标越界,将导致调用失败,返回-1。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
取某点颜色索引() 取得该位图中某点的颜色在颜色表中的索引,以位图的左上角为坐标原点。失败返回-1。对使用颜色表的位图调用本命令比调用“取某点颜色”执行速度更快。对不使用颜色表的位图调用该方法将导致调用失败。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
是否使用颜色表() 位深度小于16的位图使用颜色表,否则不使用。调用本命令后可能产生三种情况:
1. 位图尚未创建/载入(即位图为空)。返回假,且设置“错误信息”为非空文本,随后调用“取错误信息”将取回该错误说明信息。
2. 位图已经创建,该位图使用颜色表。返回真。
3. 位图已经创建,该位图不使用颜色表。返回假。如果随后调用“取错误信息”将返回空文本。
是否为空() 如果该位图尚功创建或载入(即为空),返回真,否则返回假
置某点颜色() 参看“取某点颜色”。成功返回真,否则返回假。注意,如果参数3所指定的颜色值不被当前位图格式所支持,系统会自动选择最接近的有效颜色
置某点颜色索引() 参看“取某点颜色索引”。成功返回真,否则返回假。如果该位图不使用颜色表或参数3指定的颜色索引超出了该位图颜色表的最大索引,本命令调用失败。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
置颜色表() 参看“取颜色表”。成功返回真,否则返回假。如果该位图不使用颜色表或指定的颜色表格式错误,本命令调用失败。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
注意,操作位图的颜色表需要对位图格式有一定的了解,错误的操作可能会破坏位图数据,请参阅相关资料
置像素点阵() 参看“取像素点阵”。成功返回真,否则返回假。如果指定数据的格式错误,本命令调用失败。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
注意,操作位图的像素点阵需要对位图格式有一定的了解,错误的操作可能会破坏位图数据,请参阅相关资料
转换位深度() 转换本位图对象的颜色位深度,并返回转换后的对象。失败返回空位图对象。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
复制到() 将本位图的某一矩形区域复制到目的位图,成功返回真,失败返回假。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
取指针() 取得该位图数据中关键段的指针,成功返回真,否则返回假。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
本命令适用于一些特殊的需要直接操作内存指针场合,一般用户不推荐使用!!如果需要修改这些指针所指向的数据,请务必谨慎,以免造成程序崩溃等意外结果
旋转90度() 将该位图顺时针或逆时针旋转90度,并返回旋转后的位图,失败返回空位图。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
镜像() 将该位图做水平/垂直镜像,并返回镜像后的新位图。失败返回空位图。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
创建兼容位图() 根据指定窗口的设备环境(DC)创建出一个兼容位图(设备相关位图),并返回其位图句柄(HBITMAP),失败返回0。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。
本命令通常用于和API交互,一般用户不推荐使用。注意:该命令成功创建的位图句柄在不再需要时☆必须☆调用 DeleteObject API函数删除之!!否则可能造成GDI资源泄露,产生意外错误。
该API在易语言中的声明如下:
.DLL命令 删除对象, 逻辑型, , "DeleteObject"
.参数 GDI对象句柄, 整数型
直接把以上两行复制粘贴到易语言DLL命令区即可使用该API
从句柄创建() 从一个位图句柄(HBITMAP)创建出设备无关位图,该位图原有数据会被自动释放。成功返回真,失败返回假。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。注意:本方法创建出来的位图的颜色质量可能会受到当前屏幕显示模式的影响
旋转() 把一个位图旋转一个角度,并返回旋转后的位图。如果失败,随后立即调用本对象的“取错误信息”命令将取得一个非空文本,该文本为失败的原因。注意:对一个位图进行旋转后会有少许失真。如果本旋转算法的精度无法满足要求,请根据实际情况用“取某点颜色/索引”、“置某点颜色/索引”结合相应的的旋转算法进行操作
|