|
5精币
好久没写易语言了,重新拾起一下
写了个程序, 批量处理图片尺寸得,源码如下
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 文件数组 | 文本型 | 0 | 程序运行目录 | 文本型 | | shrinkRatio | 整数型 | | maxWidth | 小数型 | | maxHeight | 小数型 | | 拖拽文件路径 | 文本型 | | 是否拖拽了文件或者文件夹 | 逻辑型 | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | cur | 整数型 | | | 当前图片 | 字节集 | | | 信息框返回值 | 整数型 | | | 信息框 (“调整后的图片会被输出到当前目录下的dist目录内”, 0, , )如果真 (取反 (目录_是否存在 (“dist”)) )目录_创建 (“dist”)计次循环首 (取数组成员数 (文件数组 ), cur )当前图片 = 读入文件 (文件数组 [cur ])格式化图片 (文件数组 [cur ], 当前图片 )延迟 (200 )计次循环尾 ()拖放对象1. 注册拖放控件 (_启动窗口. 取窗口句柄 ()) 图片框1.图片 = #上传图标 皮肤_加载 ( #皮肤_QQ2015 )程序运行目录 = 取运行目录 ()文件_枚举 (程序运行目录, “*.jpg*|*.jpeg*|*.png*”, 文件数组, 真)调试输出 (文件数组 )|
格式化图片 | | | |
pictureUrl | 文本型 | | | | pictureData | 字节集 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | width | 小数型 | | | height | 小数型 | | | buildFileName | 文本型 | | | buildPictureData | 字节集 | | | shrinkCount | 整数型 | | |
maxWidth = 到小数 (编辑框1.内容 )maxHeight = 到小数 (编辑框2.内容 )width = 运算_象素到厘米 (取图片宽度 (pictureUrl )) height = 运算_象素到厘米 (取图片高度 (pictureUrl )) 调试输出 (width, height, maxWidth, maxHeight )buildFileName = 目录_附加 (程序运行目录, “dist” + “\” + 目录_取尾部目录名或文件名 (pictureUrl )) 如果 (width ≤ maxWidth 且 height ≤ maxHeight )buildPictureData = pictureData 如果 (width ÷ maxWidth > height ÷ maxHeight )shrinkRatio = width ÷ maxWidth width = maxWidth height = height ÷ shrinkRatio shrinkRatio = height ÷ maxHeight height = maxHeight width = width ÷ shrinkRatio . . 调试输出 (“调整后的厘米”, width, height ) buildPictureData = 图片_缩放 (pictureData, 运算_厘米到象素 (width ), 运算_厘米到象素 (height ), 真) 图片框1.图片 = buildPictureData 写到文件 (buildFileName, buildPictureData )拖拽文件路径 = 接收到的文件路径 如果真 (目录_是否存在 (拖拽文件路径 )) 图片框1.图片 = #文件夹图标 文件_枚举 (拖拽文件路径, “*.jpg*|*.jpeg*|*.png*”, 文件数组, 真)提示框 (“文件夹导入成功,共” + 到文本 (取数组成员数 (文件数组 )) + “张图片”, , , , 800 )如果真 (文件_是否存在 (拖拽文件路径 )) 文件扩展名 = 文件_取扩展名 (拖拽文件路径 )如果 (寻找文本 (文件扩展名, “jpg”, , 假) ≠ -1 或 寻找文本 (文件扩展名, “png”, , 假) ≠ -1 或 寻找文本 (文件扩展名, “jepg”, , 假) ≠ -1 )图片框1.图片 = 读入文件 (拖拽文件路径 )清除数组 (文件数组 )加入成员 (文件数组, 拖拽文件路径 )提示框 (“单张图片导入成功”, , , , 800 )提示框 (“文件格式非法,只能导入图片jpg,jpeg,png”)是否拖拽了文件或者文件夹 = 目录_是否存在 (拖拽文件路径 ) 或 文件_是否存在 (拖拽文件路径 )拖放对象1. 撤消拖放控件 (_启动窗口. 取窗口句柄 ())e源码:
补充内容 (2022-10-21 14:13):
程序执行的时候窗口就拖不动了, 好像其他地方也拖不动 |
-
-
a.e
2.79 MB, 下载次数: 0
源码
最佳答案
查看完整内容
延时下一行里加一个 处理事件(),会好一点。要彻底解决,用线程,图片处理在线程里执行,这样不会卡窗口进程
补充内容 (2022-10-21 14:22):
当前图片 = 读入文件 (文件数组 [cur])
格式化图片 (文件数组 [cur], 当前图片)
延迟 (200)
处理事件()
|