以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]批量修改图片尺寸并保存的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99257) |
-- 作者:haotinghua -- 发布时间:2017/4/15 16:25:00 -- [求助]批量修改图片尺寸并保存的问题 批量选择图片并统一修改尺寸和保存,测试情况如下: 1、选中图片大小在1M的50张,可以正常完成; 2、选中图片有一张14M,有一张11M,使用时报错 3、其它类似的测试,感觉就是图片文件大的如果选择后操作会出现报错 4、内存进行了监控:内存会逐步上升,使用后内存会自动清除恢复到原来的状态 问题:是对图片大小选中有要求吗?还是因为内存占用的问题?感觉似乎不太稳定 另外如果设置选择的图片数量不超过10个,单个图片文件不超过5M,这个代码怎么写? 现有测试代码如下: Dim i As Integer = 1 \'定义保存名时使用的编号 Dim img As image Dim dlg As New OpenFileDialog dlg.MultiSelect = True dlg.Filter = "图形文件|*.bmp;*.jpg;*.gif;*.png" If dlg.ShowDialog = DialogResult.OK Then For Each fl As String In dlg.FileNames img = getImage(fl) Dim bmp As new bitmap(img, 400, 400 * (img.height / img.width)) bmp.save("D:\\新建文件夹\\" & Format(Date.now,"MMddHmmss") & i & ".jpg") bmp.Dispose i = i + 1 Next End If [此贴子已经被作者于2017/4/15 16:25:31编辑过]
|
-- 作者:有点色 -- 发布时间:2017/4/15 16:59:00 -- 报错的问题,代码改一下,getImage对象没有释放
Dim i As Integer = 1 \'定义保存名时使用的编号
|
-- 作者:有点色 -- 发布时间:2017/4/15 17:02:00 -- 限制图片个数
If dlg.FileNames.Length <= 10 Then
End If
限制文件大小,参考 http://www.foxtable.com/webhelp/scr/2707.htm
|
-- 作者:haotinghua -- 发布时间:2017/4/15 18:58:00 -- 谢谢版主,按你方法解决了!谢谢谢谢! |