话不说多,直接贴代码效率非常高
有更高效率的请贴出来
|
取图片宽高 | 逻辑型 | | |
图字节集 | 字节集 | | | | 返回图宽 | 整数型 | | | | 返回图高 | 整数型 | | | | 返回图格式 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 前4字节 | 字节集 | | | 字节集长度 | 整数型 | | | 当前位置 | 整数型 | | | 临时字节集 | 字节集 | | |
字节集长度 = 取字节集长度 (图字节集 )如果真 (字节集长度 < 6 )返回 (假)连续赋值 (0, 返回图宽, 返回图高)前4字节 = 取字节集左边 (图字节集, 4 )判断 (前4字节 [1 ] = 255 且 前4字节 [2 ] = 216 且 前4字节 [3 ] = 255 ) 当前位置 = 2 循环判断首 ()循环判断首 ()临时字节集 = 取字节集中间 (图字节集, 当前位置, 2 )当前位置 = 当前位置 + 1 循环判断尾 (当前位置 < 字节集长度 且 (临时字节集 [1 ] ≠ 255 或 临时字节集 [2 ] = 255 )) 临时字节集 = 取字节集中间 (图字节集, 当前位置, 8 )当前位置 = 当前位置 + 临时字节集 [3 ] + 临时字节集 [2 ] × 256 + 1 循环判断尾 (当前位置 < 字节集长度 且 (临时字节集 [1 ] < 192 或 临时字节集 [1 ] > 195 )) 返回图宽 = 临时字节集 [8 ] + 临时字节集 [7 ] × 256 返回图高 = 临时字节集 [6 ] + 临时字节集 [5 ] × 256 返回图格式 = “jpg”判断 (前4字节 = { 137, 80, 78, 71 }) 临时字节集 = 取字节集中间 (图字节集, 19, 6 )返回图宽 = 临时字节集 [2 ] + 临时字节集 [1 ] × 256 返回图高 = 临时字节集 [6 ] + 临时字节集 [5 ] × 256 返回图格式 = “png”判断 (前4字节 = { 71, 73, 70, 56 }) 临时字节集 = 取字节集中间 (图字节集, 7, 4 )返回图宽 = 临时字节集 [1 ] + 临时字节集 [2 ] × 256 返回图高 = 临时字节集 [3 ] + 临时字节集 [4 ] × 256 返回图格式 = “gif”判断 (前4字节 [1 ] = 66 且 前4字节 [2 ] = 77 ) 临时字节集 = 取字节集中间 (图字节集, 19, 4 )返回图宽 = 取绝对值 (指针到整数 (取变量数据地址 (临时字节集 )) )临时字节集 = 取字节集中间 (图字节集, 23, 4 )返回图高 = 取绝对值 (指针到整数 (取变量数据地址 (临时字节集 )) )返回图格式 = “bmp”返回图格式 = “”返回 (返回图宽 ≠ 0 )
|