|
本帖最后由 逸凡 于 2023-8-26 17:20 编辑
有些超大分辨率的图片, 宽度和高度是相反的, 直接用, 图片_取宽度, 图片_取高度, 等取出值是相反, 这种图片若是直接转为位图等, 会出现图片顺序相反的情况
看下图:
这是在电脑上可以正常查看的图片,
这是用易语言转换格式后的图片, 变成了横向显示
这是原图的属性, 注意这里的分辨率单位是 2 , 一般的小图是没有的, 易语言随便转换, 都不会出现问题
鉴于这个问题解决方案如下:
需要用到gdi+模块, 论坛里面有得下载, 自己搜索一下就行了, 我这里用的是 Gdiplus类3.0.ec,
以下是转换代码, 至于为什么要先转为bmp, 在转到jpg, 这是可以缩小图片体积, 本例中原图是5M多的体积, 转换一下就成了700多k
.版本 2
.子程序 图片_转换_GDI, 字节集, 公开
.参数 字节集, 字节集
.局部变量 图像, GP图像
.局部变量 位图, GP位图
.局部变量 属性, 属性项目
图像.创建自字节集 (字节集)
图像.取属性项目 (#属性标签_方向定位, 属性)
.判断开始 (属性.值 = { 6, 0 })
图像.旋转翻转 (#旋转翻转_旋转90度不翻转)
.判断 (属性.值 = { 1, 0 })
.默认
.判断结束
位图.创建自字节集 (图像.保存到字节集 (#图像格式_BMP))
返回 (位图.保存到字节集 (#图像格式_JPEG))
|
|