易语言画板怎么在里面添加图片,(图片白色部分透明),不用画板也行,只有能用代码添加就行了
易语言画板怎么在里面添加图片,(图片白色部分透明),不用画板也行,只有能用代码添加就行了,我想制作一个游戏,看了一下列程,里面用到了画板,最好图片是可以动的,就想列程里的...
易语言画板怎么在里面添加图片,(图片白色部分透明),不用画板也行,只有能用代码添加就行了,我想制作一个游戏,看了一下列程,里面用到了画板,最好图片是可以动的,就想列程里的“超级马里奥”
展开
展开全部
使用真彩模块,创建真彩窗口,或者使用,GDIPlus类
.版本 2
.程序集 GP画布场景, , 公开
.程序集变量 EXSTYLE, 整数型
.程序集变量 是否已创建, 逻辑型
.程序集变量 画布图形, GP内存图形, , , 用于场景刷新显示
.程序集变量 句柄, 整数型
.程序集变量 画布透明度, 整数型, , , 0-255
.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用
.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用
.子程序 创建, 逻辑型, 公开, 必须先进行创建。成功返回真,失败返回假。
.参数 窗口句柄, 整数型, , 指定窗口句柄,子句柄无效。
.局部变量 尺寸, 尺寸L
.局部变量 坐标, 坐标L
.如果真 (是否已创建 = 真)
返回 (假)
.如果真结束
是否已创建 = 真
句柄 = 窗口句柄
EXSTYLE = GetWindowLong (句柄, -20)
SetWindowLong (句柄, -20, 位或 (EXSTYLE, 524288))
画布透明度 = 255
取尺寸 (尺寸.宽度, 尺寸.高度)
画布图形.创建 (尺寸.宽度, 尺寸.高度)
取坐标 (坐标.x, 坐标.y)
画布图形.复制图层窗口 (句柄, 坐标.x, 坐标.y, 尺寸.宽度, 尺寸.高度, 画布透明度, 0, 0)
返回 (真)
.子程序 销毁, 逻辑型, 公开, 成功返回真,失败返回假。
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
画布图形.销毁 ()
SetWindowLong (句柄, -20, EXSTYLE)
EXSTYLE = 0
是否已创建 = 假
句柄 = 0
返回 (真)
.子程序 复制GP内存图形到画布, 逻辑型, 公开, 成功返回真,失败返回假。
.参数 GP内存图形, GP内存图形, , 当此参数为空时,则继续执行其它的参数
.参数 左边, 整数型, 可空
.参数 顶边, 整数型, 可空
.参数 宽度, 整数型, 可空, 为空时,以GP内存图形的宽度来计算
.参数 高度, 整数型, 可空, 为空时,以GP内存图形的高度来计算
.参数 透明度, 整数型, 可空
.局部变量 blendFunc32bpp, 字节集
.局部变量 p, 整数型
.局部变量 纠正宽度, 整数型
.局部变量 纠正高度, 整数型
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
blendFunc32bpp = { 0, 0, 0, 0 }
.判断开始 (是否为空 (透明度) = 真)
blendFunc32bpp [3] = 255
.默认
blendFunc32bpp [3] = 透明度
.判断结束
p = 取字节集数据 (blendFunc32bpp, #整数型, )
.判断开始 (是否为空 (宽度) = 真)
纠正宽度 = GP内存图形.取宽度 ()
.默认
纠正宽度 = 宽度
.判断结束
.判断开始 (是否为空 (高度) = 真)
纠正高度 = GP内存图形.取高度 ()
.默认
纠正高度 = 高度
.判断结束
AlphaBlend (画布图形.获取mdc (), 左边, 顶边, 纠正宽度, 纠正高度, GP内存图形.获取mdc (), 0, 0, GP内存图形.取宽度 (), GP内存图形.取高度 (), p)
' -----------------------------------------------------------
' StretchBlt (屏幕图形.获取mdc (), 物体图形.取左边 (), 物体图形.取顶边 (), 物体图形.取宽度 (), 物体图形.取高度 (), 物体图形.获取mdc (), 0, 0, 物体图形.取宽度 (), 物体图形.取高度 (), 13369376)
' GdiTransparentBlt (屏幕图形.获取mdc (), 物体图形.取左边 (), 物体图形.取顶边 (), 物体图形.取宽度 (), 物体图形.取高度 (), 物体图形.获取mdc (), 0, 0, 物体图形.取宽度 (), 物体图形.取高度 (), 物体图形.取透明度 ())
返回 (真)
.子程序 刷新画布, 逻辑型, 公开, 成功返回真,失败返回假。
.局部变量 左边, 整数型
.局部变量 顶边, 整数型
.局部变量 宽度, 整数型
.局部变量 高度, 整数型
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
取坐标 (左边, 顶边)
取尺寸 (宽度, 高度)
画布图形.复制图层窗口 (句柄, 左边, 顶边, 宽度, 高度, 画布透明度, 0, 0)
返回 (真)
.子程序 更新尺寸, 逻辑型, 公开, 成功返回真,失败返回假。注意:将清除画布的所有内容。
.参数 宽度, 整数型
.参数 高度, 整数型
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
画布图形.销毁 ()
画布图形.创建 (宽度, 高度)
返回 (真)
.子程序 获取mdc, 整数型, 公开
返回 (画布图形.获取mdc ())
.子程序 置透明度, 逻辑型, 公开, 透明度:0-255
.参数 透明度, 整数型, , 0-255
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
画布透明度 = 透明度
返回 (真)
.子程序 取透明度, 整数型, 公开, 透明度:0-255(-1=失败)
.如果真 (是否已创建 = 假)
返回 (-1)
.如果真结束
返回 (画布透明度)
.子程序 取尺寸, 逻辑型, 公开, 包过带样式的窗口边框
.参数 宽度, 整数型, 参考 可空
.参数 高度, 整数型, 参考 可空
.局部变量 矩形位置, 矩形坐标
.局部变量 返回左边, 整数型
.局部变量 返回顶边, 整数型
.局部变量 返回右边, 整数型
.局部变量 返回底边, 整数型
.局部变量 返回, 逻辑型
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
返回 = 取窗口矩形坐标 (句柄, 矩形位置)
返回左边 = 矩形位置.左边
返回顶边 = 矩形位置.顶边
返回右边 = 矩形位置.右边
返回底边 = 矩形位置.底边
宽度 = 返回右边 - 返回左边
高度 = 返回底边 - 返回顶边
返回 (返回)
.子程序 取大小, 逻辑型, 公开, 不包过带窗口样式的边框。
.参数 宽度, 整数型, 参考 可空
.参数 高度, 整数型, 参考 可空
.局部变量 矩形尺寸, 矩形尺寸
.局部变量 返回宽度, 整数型
.局部变量 返回高度, 整数型
.局部变量 返回左边, 整数型
.局部变量 返回顶边, 整数型
.局部变量 值, 整数型
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
值 = 取窗口矩形尺寸 (句柄, 矩形尺寸)
返回左边 = 矩形尺寸.左边
返回顶边 = 矩形尺寸.顶边
返回宽度 = 矩形尺寸.宽度
返回高度 = 矩形尺寸.高度
宽度 = 矩形尺寸.宽度
高度 = 矩形尺寸.高度
.如果真 (值 = 0)
返回 (假)
.如果真结束
返回 (真)
.子程序 取坐标, 逻辑型, 公开
.参数 左边, 整数型, 参考 可空
.参数 顶边, 整数型, 参考 可空
.局部变量 位置, 矩形坐标
.局部变量 返回, 逻辑型
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
返回 = 取窗口矩形坐标 (句柄, 位置)
左边 = 位置.左边
顶边 = 位置.顶边
返回 (返回)
.子程序 取句柄, 整数型, 公开
返回 (句柄)
.子程序 清除所有, 逻辑型, 公开
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
画布图形.清除 ()
返回 (真)
.版本 2
.程序集 GP画布场景, , 公开
.程序集变量 EXSTYLE, 整数型
.程序集变量 是否已创建, 逻辑型
.程序集变量 画布图形, GP内存图形, , , 用于场景刷新显示
.程序集变量 句柄, 整数型
.程序集变量 画布透明度, 整数型, , , 0-255
.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用
.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用
.子程序 创建, 逻辑型, 公开, 必须先进行创建。成功返回真,失败返回假。
.参数 窗口句柄, 整数型, , 指定窗口句柄,子句柄无效。
.局部变量 尺寸, 尺寸L
.局部变量 坐标, 坐标L
.如果真 (是否已创建 = 真)
返回 (假)
.如果真结束
是否已创建 = 真
句柄 = 窗口句柄
EXSTYLE = GetWindowLong (句柄, -20)
SetWindowLong (句柄, -20, 位或 (EXSTYLE, 524288))
画布透明度 = 255
取尺寸 (尺寸.宽度, 尺寸.高度)
画布图形.创建 (尺寸.宽度, 尺寸.高度)
取坐标 (坐标.x, 坐标.y)
画布图形.复制图层窗口 (句柄, 坐标.x, 坐标.y, 尺寸.宽度, 尺寸.高度, 画布透明度, 0, 0)
返回 (真)
.子程序 销毁, 逻辑型, 公开, 成功返回真,失败返回假。
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
画布图形.销毁 ()
SetWindowLong (句柄, -20, EXSTYLE)
EXSTYLE = 0
是否已创建 = 假
句柄 = 0
返回 (真)
.子程序 复制GP内存图形到画布, 逻辑型, 公开, 成功返回真,失败返回假。
.参数 GP内存图形, GP内存图形, , 当此参数为空时,则继续执行其它的参数
.参数 左边, 整数型, 可空
.参数 顶边, 整数型, 可空
.参数 宽度, 整数型, 可空, 为空时,以GP内存图形的宽度来计算
.参数 高度, 整数型, 可空, 为空时,以GP内存图形的高度来计算
.参数 透明度, 整数型, 可空
.局部变量 blendFunc32bpp, 字节集
.局部变量 p, 整数型
.局部变量 纠正宽度, 整数型
.局部变量 纠正高度, 整数型
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
blendFunc32bpp = { 0, 0, 0, 0 }
.判断开始 (是否为空 (透明度) = 真)
blendFunc32bpp [3] = 255
.默认
blendFunc32bpp [3] = 透明度
.判断结束
p = 取字节集数据 (blendFunc32bpp, #整数型, )
.判断开始 (是否为空 (宽度) = 真)
纠正宽度 = GP内存图形.取宽度 ()
.默认
纠正宽度 = 宽度
.判断结束
.判断开始 (是否为空 (高度) = 真)
纠正高度 = GP内存图形.取高度 ()
.默认
纠正高度 = 高度
.判断结束
AlphaBlend (画布图形.获取mdc (), 左边, 顶边, 纠正宽度, 纠正高度, GP内存图形.获取mdc (), 0, 0, GP内存图形.取宽度 (), GP内存图形.取高度 (), p)
' -----------------------------------------------------------
' StretchBlt (屏幕图形.获取mdc (), 物体图形.取左边 (), 物体图形.取顶边 (), 物体图形.取宽度 (), 物体图形.取高度 (), 物体图形.获取mdc (), 0, 0, 物体图形.取宽度 (), 物体图形.取高度 (), 13369376)
' GdiTransparentBlt (屏幕图形.获取mdc (), 物体图形.取左边 (), 物体图形.取顶边 (), 物体图形.取宽度 (), 物体图形.取高度 (), 物体图形.获取mdc (), 0, 0, 物体图形.取宽度 (), 物体图形.取高度 (), 物体图形.取透明度 ())
返回 (真)
.子程序 刷新画布, 逻辑型, 公开, 成功返回真,失败返回假。
.局部变量 左边, 整数型
.局部变量 顶边, 整数型
.局部变量 宽度, 整数型
.局部变量 高度, 整数型
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
取坐标 (左边, 顶边)
取尺寸 (宽度, 高度)
画布图形.复制图层窗口 (句柄, 左边, 顶边, 宽度, 高度, 画布透明度, 0, 0)
返回 (真)
.子程序 更新尺寸, 逻辑型, 公开, 成功返回真,失败返回假。注意:将清除画布的所有内容。
.参数 宽度, 整数型
.参数 高度, 整数型
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
画布图形.销毁 ()
画布图形.创建 (宽度, 高度)
返回 (真)
.子程序 获取mdc, 整数型, 公开
返回 (画布图形.获取mdc ())
.子程序 置透明度, 逻辑型, 公开, 透明度:0-255
.参数 透明度, 整数型, , 0-255
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
画布透明度 = 透明度
返回 (真)
.子程序 取透明度, 整数型, 公开, 透明度:0-255(-1=失败)
.如果真 (是否已创建 = 假)
返回 (-1)
.如果真结束
返回 (画布透明度)
.子程序 取尺寸, 逻辑型, 公开, 包过带样式的窗口边框
.参数 宽度, 整数型, 参考 可空
.参数 高度, 整数型, 参考 可空
.局部变量 矩形位置, 矩形坐标
.局部变量 返回左边, 整数型
.局部变量 返回顶边, 整数型
.局部变量 返回右边, 整数型
.局部变量 返回底边, 整数型
.局部变量 返回, 逻辑型
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
返回 = 取窗口矩形坐标 (句柄, 矩形位置)
返回左边 = 矩形位置.左边
返回顶边 = 矩形位置.顶边
返回右边 = 矩形位置.右边
返回底边 = 矩形位置.底边
宽度 = 返回右边 - 返回左边
高度 = 返回底边 - 返回顶边
返回 (返回)
.子程序 取大小, 逻辑型, 公开, 不包过带窗口样式的边框。
.参数 宽度, 整数型, 参考 可空
.参数 高度, 整数型, 参考 可空
.局部变量 矩形尺寸, 矩形尺寸
.局部变量 返回宽度, 整数型
.局部变量 返回高度, 整数型
.局部变量 返回左边, 整数型
.局部变量 返回顶边, 整数型
.局部变量 值, 整数型
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
值 = 取窗口矩形尺寸 (句柄, 矩形尺寸)
返回左边 = 矩形尺寸.左边
返回顶边 = 矩形尺寸.顶边
返回宽度 = 矩形尺寸.宽度
返回高度 = 矩形尺寸.高度
宽度 = 矩形尺寸.宽度
高度 = 矩形尺寸.高度
.如果真 (值 = 0)
返回 (假)
.如果真结束
返回 (真)
.子程序 取坐标, 逻辑型, 公开
.参数 左边, 整数型, 参考 可空
.参数 顶边, 整数型, 参考 可空
.局部变量 位置, 矩形坐标
.局部变量 返回, 逻辑型
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
返回 = 取窗口矩形坐标 (句柄, 位置)
左边 = 位置.左边
顶边 = 位置.顶边
返回 (返回)
.子程序 取句柄, 整数型, 公开
返回 (句柄)
.子程序 清除所有, 逻辑型, 公开
.如果真 (是否已创建 = 假)
返回 (假)
.如果真结束
画布图形.清除 ()
返回 (真)
博思aippt
2024-07-20 广告
2024-07-20 广告
博思AIPPT是基于ai制作PPT的智能在线工具,它提供了4种AI制作PPT的方式,包括AI生成大纲、AI直接生成PPT、文本生成PPT、AI提炼文档生成PPT,一站式集成多种AI生成PPT的方式,可满足办公用户的不同需求和使用场景。ai生...
点击进入详情页
本回答由博思aippt提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询