|
本帖最后由 htpidk 于 2021-7-26 14:17 编辑
现有的“从数据创建”方法是将数据写到文件然后进行后续一系列操作的,效率有点低,“从数据创建2”这个方法模块里没有实现,只写了一部分,我修正了其中一部分错误补全了这个方法
原来是这样
变量名 | 类 型 | 静态 | 数组 | 备 注 | 宽 | 整数型 | | | 高 | 整数型 | | | 位深度 | 整数型 | | | 释放旧位图 ()如果真 (取字节集长度 (位图文件数据 ) < 55 )返回 (假)宽 = 位图文件数据 [19] + 位图文件数据 [20] × 256高 = 位图文件数据 [23 ] + 位图文件数据 [24 ] × 256 位深度 = 位图文件数据 [29 ] + 位图文件数据 [30 ] × 256 输出调试文本 (位深度 )如果真 (宽 < 1 或 高 < 1 )返回 (假)创建空白位图 (宽, 高, 位深度) 位图数据 = 取字节集右边 (位图文件数据, 取字节集长度 (位图数据 )) RtlMoveMemory (取颜色点阵地址 (), 位图指针, 取颜色点阵大小 ()) 返回 (真)
改成下面这样
变量名 | 类 型 | 静态 | 数组 | 备 注 | 宽 | 整数型 | | | 高 | 整数型 | | | 位深度 | 整数型 | | | 释放旧位图 ()如果真 (取字节集长度 (位图文件数据 ) < 55 )返回 (假)宽 = 取字节集数据 (位图文件数据, 3, 19)高 = 取字节集数据 (位图文件数据, 3, 23 )位深度 = 取字节集数据 (位图文件数据, 2, 29 )输出调试文本 (位深度, 宽, 高 )如果真 (宽 < 1 或 高 < 1 )返回 (假)场景句柄 = CreateCompatibleDC (屏幕设备句柄)位图数据 = 取字节集右边 (位图文件数据, 取字节集长度 (位图文件数据 ) - 14 )位图句柄 = CreateDIBSection1 (屏幕设备句柄, 位图数据, 0, 位图指针, 0, 0 )RtlMoveMemory (位图指针, 取颜色点阵地址 (), 取颜色点阵大小 ()) 旧位图句柄 = SelectObject (场景句柄, 位图句柄 )返回 (真)
还有就是“取出位图数据”这个方法里有个数据错了,原来是
如果真 (场景被更新 )RtlMoveMemory (取颜色点阵地址 (), 位图指针, 取颜色点阵大小 ()) 场景被更新 = 假 返回 (到字节集 (到短整数 (19778)) + 到字节集 (到整数 (取字节集长度 (位图数据) + 54)) + { 0, 0 } + { 0, 0 } + 到字节集 (到整数 (54 + 取颜色表大小 ())) + 位图数据)
里面的54改成14
如果真 (场景被更新 )RtlMoveMemory (取颜色点阵地址 (), 位图指针, 取颜色点阵大小 ()) 场景被更新 = 假 返回 (到字节集 (到短整数 (19778)) + 到字节集 (到整数 (取字节集长度 (位图数据) + 14)) + { 0, 0 } + { 0, 0 } + 到字节集 (到整数 (54 + 取颜色表大小 ())) + 位图数据)
|
评分
-
查看全部评分
|