画板制作图像放大缩放工具

易语言 2020-08-27 20:41:36

画板制作图像放大缩放工具

.子程序 取内存位图句柄, 整数型, 公开, 成功返回位图句柄,失败返回0。备注:如果不再使用此句柄,请用“DeleteObject”释放资源。
.参数 位图数据, 字节集, , 位图文件数据
.局部变量 无关位图, 整数型
.局部变量 设备场景, 整数型
.局部变量 位图句柄, 整数型
.局部变量 Palette, 逻辑型

无关位图 = 取字节集地址_ (位图数据, 位图数据, 0)
.如果真 (取字节集数据 (位图数据, #短整数型, 14 + 15) < 24)
Palette = 真
.如果真结束
' 设备场景 = 取设备场景_ (0)
设备场景 = 取窗口全部设备场景_ (0)
位图句柄 = 无关位图创建到有关位图_ (设备场景, 无关位图 + 14, 4, 无关位图 + 14 + 40 + 到数值 (Palette) × 4, 无关位图 + 14, 0)
释放设备场景_ (0, 设备场景)
返回 (位图句柄)

.DLL命令 复制位图_, 整数型, "gdi32.dll", "StretchBlt", , , StretchBlt,将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容。
.参数 目标设备场景句柄, 整数型, , hdc,目标设备场景
.参数 目标横坐标, 整数型, , x,目标矩形左上角的x,y坐标,以逻辑坐标表示
.参数 目标纵坐标, 整数型, , y,目标矩形左上角的x,y坐标,以逻辑坐标表示
.参数 目标宽度, 整数型, , nWidth,目标矩形的宽度和高度,以逻辑坐标表示
.参数 目标高度, 整数型, , nHeight,目标矩形的宽度和高度,以逻辑坐标表示
.参数 源设备场景句柄, 整数型, , hSrcDC,源设备场景。如光栅运算未指定一个源,则这个参数应为零
.参数 源横坐标, 整数型, , xSrc,用源DC的逻辑坐标表示的源矩形左上角位置
.参数 源纵坐标, 整数型, , ySrc,用源DC的逻辑坐标表示的源矩形左上角位置
.参数 源宽度, 整数型, , nSrcWidth,分别指定用逻辑单位(以源DC为基础)传输的一幅图象的宽度和高度。
.参数 源高度, 整数型, , nSrcHeight,分别指定用逻辑单位(以源DC为基础)传输的一幅图象的宽度和高度。
.参数 光栅运算, 整数型, , dwRop,传输过程中进行的光栅运算。如刷子属于光栅运算的一部分,就使用选入目标DC的刷子

.DLL命令 创建内存场景_, 整数型, , "CreateCompatibleDC"
.参数 设备场景句柄, 整数型

.DLL命令 选入设备场景_, 整数型, , "SelectObject"
.参数 设备场景, 整数型
.参数 对象句柄, 整数型

.DLL命令 删除对象_, 整数型, , "DeleteObject"
.参数 对象句柄, 整数型