网站首页 > 易语言相关 > 易语言例程 正文
从一个多功能模块提取的,并优化确认无错的图形句柄与图像数据互换源码
@lxwyyy
.版本 2 .程序集 图像操作 .子程序 get_Handle, 整数型 .参数 IPicture, 整数型 .参数 pHandle, 整数型, 参考 置入代码 ({ 139, 69, 8, 139, 0, 131, 192, 12, 139, 0, 255, 117, 12, 255, 117, 8, 255, 208 }) 返回 (pHandle) .子程序 Release, , , 释放对象 .参数 IPicture, 整数型 置入代码 ({ 139, 69, 8, 139, 0, 131, 192, 8, 139, 0, 255, 117, 8, 255, 117, 8, 255, 208 }) .子程序 图像_图片句柄取图片, 字节集, 公开, 返回的图片格式,固定为位图。 .参数 hBitmap, 整数型 .局部变量 Bitmap, 位图结构, , , 244 .局部变量 Resource, 字节集, , , 240 .局部变量 位图头, 位图头, , , 232 .局部变量 buf, 字节集 .局部变量 hMemDC, 整数型, , , 252 .局部变量 位图信息, 位图信息, , , 248 .局部变量 结构信息, 字节集, , , 236 GetObject (hBitmap, 24, Bitmap) hMemDC = CreateCompatibleDC (0) 位图信息.结构大小 = 40 GetDIBits_BimapInfo (hMemDC, hBitmap, 0, 0, 0, 位图信息, 0) Resource = 取空白字节集 (位图信息.图像数据大小) 位图信息.压缩方式 = 0 位图信息.位深度 = 24 GetDIBits (hMemDC, hBitmap, 0, Bitmap.位图高度, Resource, 位图信息, 0) 结构信息 = 取空白字节集 (位图信息.结构大小) CopyMemory_位图信息 (结构信息, 位图信息, 位图信息.结构大小) 位图头.位图类别 = 19778 ' 取字节集数据 (到字节集 (“BM”), 2, ) 位图头.数据地址 = 54 位图头.图像大小 = 54 + 位图信息.图像数据大小 连续赋值 (0, 位图头.bfReserved1, 位图头.bfReserved2) DeleteDC (hMemDC) buf = 取空白字节集 (位图头.图像大小) CopyMemory_位图头 (buf, 位图头, 14) CopyMemory_zj_zjj (buf [15], 结构信息 + Resource, 位图头.图像大小 - 14) 返回 (buf) .子程序 图像_取图片句柄, 整数型, 公开, 支持bmp、gif、jpg、cur、ico等。感谢叮咚茶提供的极强悍源码,没有这个函数整个模块没法做了。。。 .参数 图形数据, 字节集 .参数 输出宽度, 整数型, 可空 .参数 输出高度, 整数型, 可空 .局部变量 BinLen, 整数型 .局部变量 hMem, 整数型 .局部变量 lpMem, 整数型 .局部变量 IID_IPicture, 字节集 .局部变量 Stream, 整数型 .局部变量 Subaddr, 整数型 .局部变量 Handle, 整数型 .局部变量 picobj, 整数型 .局部变量 ret, 整数型 置入代码 ({ 139, 69, 8, 139, 0, 139, 64, 4, 137, 69, 248 }) ' BinLen = 取字节集长度 (图形数据) hMem = GlobalAlloc (66, BinLen) .如果真 (hMem ≠ 0) lpMem = GlobalLock (hMem) .如果真 (lpMem ≠ 0) 置入代码 ({ 139, 125, 244, 139, 117, 8, 139, 54, 131, 198, 8, 139, 77, 248, 243, 164 }) ' CopyMemory_整数_字节集 (lpMem, 图形数据, BinLen) GlobalUnlock (hMem) .如果真 (CreateStreamOnHGlobal (hMem, 0, Stream) = 0) IID_IPicture = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } .如果真 (CLSIDFromString ({ 123, 0, 55, 0, 66, 0, 70, 0, 56, 0, 48, 0, 57, 0, 56, 0, 48, 0, 45, 0, 66, 0, 70, 0, 51, 0, 50, 0, 45, 0, 49, 0, 48, 0, 49, 0, 65, 0, 45, 0, 56, 0, 66, 0, 66, 0, 66, 0, 45, 0, 48, 0, 48, 0, 65, 0, 65, 0, 48, 0, 48, 0, 51, 0, 48, 0, 48, 0, 67, 0, 65, 0, 66, 0, 125, 0, 0, 0 }, IID_IPicture) = 0) .如果真 (OleLoadPicture (Stream, BinLen, 1, IID_IPicture, picobj) = 0) get_Handle (picobj, Handle) ret = CopyImage (Handle, 0, 0, 0, 4) DeleteObject (Handle) Release (picobj) .如果真结束 .如果真结束 .如果真结束 .如果真结束 GlobalFree (hMem) .如果真结束 返回 (ret) .子程序 图像_置图片尺寸, 字节集, 公开, 返回新的图片数据。 .参数 原图片, 字节集 .参数 像素X, 整数型, 可空, 留空默认保持原大小,下同。 .参数 像素Y, 整数型, 可空 .局部变量 hBitmap, 整数型 .局部变量 Bitmap, 位图结构 .局部变量 数据, 字节集 .局部变量 ret, 整数型 .如果真 (原图片 = { }) 返回 ({ }) .如果真结束 hBitmap = 图像_取图片句柄 (原图片) GetObject (hBitmap, 24, Bitmap) .如果真 (像素X = 0) 像素X = Bitmap.位图宽度 .如果真结束 .如果真 (像素Y = 0) 像素Y = Bitmap.位图高度 .如果真结束 .如果真 (像素Y ≤ 0 或 像素X ≤ 0) 返回 (原图片) .如果真结束 ret = CopyImage (hBitmap, 0, 像素X, 像素Y, 4) 数据 = 图像_图片句柄取图片 (ret) DeleteObject (ret) DeleteObject (hBitmap) 返回 (数据) .子程序 图像_取图片宽度, 整数型, 公开, 支持bmp、gif、jpg、cur、ico等,不支持某些格式的图片(如png),请先转换为bmp。 .参数 图片, 字节集 .局部变量 hBitmap, 整数型 .局部变量 Bitmap, 位图结构 .如果真 (图片 = { }) 返回 (0) .如果真结束 hBitmap = 图像_取图片句柄 (图片) GetObject (hBitmap, 24, Bitmap) DeleteObject (hBitmap) 返回 (Bitmap.位图宽度) .子程序 图像_取图片高度, 整数型, 公开, 支持bmp、gif、jpg、cur、ico等,不支持某些格式的图片(如png),请先转换为bmp。 .参数 图片, 字节集 .局部变量 hBitmap, 整数型 .局部变量 Bitmap, 位图结构 .如果真 (图片 = { }) 返回 (0) .如果真结束 hBitmap = 图像_取图片句柄 (图片) GetObject (hBitmap, 24, Bitmap) DeleteObject (hBitmap) 返回 (Bitmap.位图高度)
猜你喜欢
- 2025-01-04 hook抓取电脑和安卓交互的TCP请求,Tcp-adb源码分享
- 2025-01-03 易语言取文件真实创建时间
- 2025-01-03 易语言实现彩色会闪会抖动的字,而且还在标题栏
- 2024-06-28 通讯录VCF文件生成源码
- 2024-03-16 2024无模块静默取已登录QQ
- 2024-03-16 批量转换PPT为PDF源码
- 2024-03-15 串口相关, 虚拟串口,枚举串口,PCOMM使用
- 2024-03-14 易语言取Unix时间戳源码
- 2024-03-13 易语言源码 安卓 ADB调试桥 真机调试
- 2024-03-11 易语言控件自动缩放源码
你 发表评论:
欢迎- 百度站内搜索
- 关注微信公众号
- 网站分类
-
- 网站公告
- 电子书书籍
- 程序员工具箱
- 编程工具
- 易语言相关
- 网络相关源码
- 图形图像源码
- 系统工具源码
- 易语言模块源码
- 易语言支持库
- 数据库类源码
- 易语言例程
- 易语言游戏开发
- 易语言模块
- 多媒体类源码
- 易语言资源网
- 易语言视频教程
- JS分析教程
- 易语言图文教程
- 易语言常见问题及笔记
- 工具源码
- 易语言版本
- 网络编程
- javascript
- PHP编程
- html
- 正则表达式
- 面试题
- nodejs
- 其它综合
- 脚本专栏
- python
- 按键精灵相关
- 按键精灵图文教程
- 按键精灵视频教程
- 按键精灵Q语言
- 按键精灵安卓版
- golang
- 游戏安全
- 火山相关
- 火山安卓软件
- 火山常见问题及笔记
- 火山安卓源码
- 火山视频教程
- 火山PC版本下载
- 火山PC视窗例程
- 互联网那些事
- 引流推广
- 项目揭秘
- 网络营销
- 营销软件
- QQ营销软件
- 娱乐软件
- 机器人插件
- 培训教程
- 技术教程
- 活动线报
- 数据库
- Redis
- Access
- MongoDB
- Mysql
- 问答
- 其它
- 易语言
- 需求
- 在线教程
- 多线程培训班
- 觅风易语言教程
- 模拟系列教程
- 集中营易语言教程
- 历史数据
- 随机tag
已有2位网友发表了看法:
静编 评论于 [2020-03-17 12:51:42] 回复
图像句柄
易语言 评论于 [2020-04-17 21:51:16] 回复
易语言,读取图片,位图数据