图形学 - Java修改图片尺寸,总是报内存溢出怎么解决?
大家讲道理
大家讲道理 2017-04-18 10:04:01
0
5
579
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(5)
黄舟

GraphicsMagick+im4java可以处理,GraphicsMagick不用把整张图片读取到内存中,比你用原生的效率高多了,你可以搜索看看,以前我们就是用GraphicsMagick处理图片裁剪的

刘奇

可以试试 ImageMagick

伊谢尔伦

你可以试一下,我也不确定行不行

int w = 400;
int h = 300;
BufferedImage oldImg = ImageIO.read(new File("F:\sample.jpg"));
Image t = oldImg.getScaledInstance(w, h, Image.SCALE_FAST);
BufferedImage newImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
Graphics2D g = newImg.createGraphics();
g.drawImage(t, 0, 0, w, h, null);
g.dispose();
ImageIO.write(newImg, "jpg", new File("F:\small.jpg"));
伊谢尔伦

雷雷

迷茫

思路可以换一换,显然内存中是能存储压缩后的图像的,而大图像应该应该读一部分处理后放到压缩后的图形中,总得来说这个问题不算难,思路换一下就行了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!