Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
[&照片,0,,100,-1]
照片是能显示,但是实际上我发现它没有压缩到100像素的,只是缩小到100像素而已,然后我1000多个产品,一共1000*2m的图片加载到内存生存excel报表,立刻就爆我内存
GDI+ 中发生一般性错误。
引发类型为“System.OutOfMemoryException”的异常。
我想问下,应该如何在导出前把图片压缩了,再导出(我不能去服务器里压缩原文件,我都是些珠宝图,压缩了将来就做不了海报了)?在什么事件里执行压缩放excel里好?有压缩的代码和帮助参考吗?
我的图片列名字就是“照片”,是用FTP存的,非二进制。谢谢
你的ftp服务器里面,应该单独用一个文件夹存放缩略图的吧?
生成缩略图也是很简单的,比如代码
Dim file As String = "d:\test.jpg" Dim img As image = getImage(file) Dim bmp = new bitmap(img, 100, 100) bmp.save("d:\缩略图.jpg") bmp.Dispose |
如果要等比缩放,这样
Dim file As String = "d:\test.jpg"
Dim img As image = getImage(file)
Dim bmp As new bitmap(img, 100, 100 * (img.height / img.width))
bmp.save("d:\缩略图.jpg")
bmp.Dispose
我想是生成excel的时候,生成一个临时的缩略图,再放入excel。
还是老师您觉得,是上传图片时已经生成好缩略图,导出excel就直接获取更好?不过后者的方法,就规定了缩略图尺寸,不能每次生成时根据实际调整分辨率
我想问下关于图片处理(例如缩放、FTP上传下载)的帮助文档的链接是什么?我去学习一下
我想是生成excel的时候,生成一个临时的缩略图,再放入excel。
还是老师您觉得,是上传图片时已经生成好缩略图,导出excel就直接获取更好?不过后者的方法,就规定了缩略图尺寸,不能每次生成时根据实际调整分辨率
你的是ftp图片的话,处理就有些问题了,你要去编写报表事件,在细节去生成之前,下载文件,然后生成缩略图。
http://www.foxtable.com/help/topics/1955.htm
我的流程,应该是
①准备生成报表细节时,出发builddetail事件
②在FTP服务器上读取这行对应的图片,生成缩略图
③下载缩略图到本地
④excel模板里设置为直接引用该图片
...下一行....
生成完毕,对吧?