繁体   English   中英

Java:图像缩放慢

[英]Java: Slow image scale

我在Java中使用此代码:

    Image img = ImageIO.read(new File("imagepath/file.png").getScaledInstance(300, 300,        BufferedImage.SCALE_SMOOTH);

    BufferedImage buffered = new BufferedImage(300, 300, BufferedImage.SCALE_FAST);
    buffered.getGraphics().drawImage(img, 0, 0 , null);

    ByteArrayOutputStream os = new ByteArrayOutputStream();
    ImageIO.write(buffered, "png", os); 
    InputStream in = new ByteArrayInputStream(os.toByteArray());
    return in;

这样可以成功缩小比例并使用我的笔记本电脑在浏览器中显示缩略图。 但是,当我在我的小型服务器(Raspberry Pi)上启动它时,速度太慢了。 与加载实际的全分辨率图像相比,更精确的时间大约长4倍。

谁能告诉我这怎么可能? 300x300 <1280x720! 应该少工作,少带宽!

干杯!

已知getScaledInstance运行缓慢,例如,请参阅本文以获取详细说明。

请注意,

BufferedImage buffered = new BufferedImage(300, 300, BufferedImage.SCALE_FAST);

这行是错误的,在这里为第三个参数指定图像类型(TYPE_INT_RGB,TYPE_INT_ARGB,TYPE_INT_ARGB_PRE等),而不是SCALE_FAST(它甚至不是BufferedImage中的字段)

另请参见: 如何缩放BufferedImage

有关质量缩减的信息,请参见以下内容: 调整大小后的图像质量非常低-Java

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM