java - 在 Java 中创建缩略图

标签 java resize thumbnails

我想为一组图像创建缩略图。为此,我使用以下代码。

public void run() {
        try{
    BufferedImage originalImage = ImageIO.read(new File(url));
    int type = originalImage.getType() == 0? BufferedImage.TYPE_INT_ARGB : originalImage.getType();
            IMG_HEIGHT = (originalImage.getHeight()*600)/originalImage.getWidth();
    BufferedImage resizeImageJpg = resizeImage(originalImage, type);
    ImageIO.write(resizeImageJpg, "jpg", new File(thumb));
            originalImage.flush();
            resizeImageJpg.flush();
            System.gc();

}catch(IOException e){
    System.out.println(e.getMessage());
            System.out.println("Not Created:"+url);
}
    }
private static BufferedImage resizeImage(BufferedImage originalImage, int type){
BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT, type);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, IMG_WIDTH, IMG_HEIGHT, null);
g.dispose();
    System.gc();
return resizedImage;
}

此代码工作正常并创建缩略图。但问题是,如果有大量图像,我会收到“java heap space error”。这是这段代码的问题吗?我该如何解决这个问题。提前致谢。 如果您有任何其他调整大小的代码,请给我。

最佳答案

试试这个图像缩放库,它对我来说效果很好。

http://www.thebuzzmedia.com/software/imgscalr-java-image-scaling-library/

关于java - 在 Java 中创建缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5455477/

相关文章:

java - Java构造函数困惑

java - 如何包装 JFrame 以使其适合我的所有按钮并将事件监听器附加到 Java 中的这些按钮?

java - 在java中调整图像大小

windows - 为文件夹而不是特定文件类型注册缩略图处理程序

java - 向 java.lang.Object 添加一个字段

java - 从文件加载公钥数据

ios - 缩略图在 iPhone 或 iPad 上不显示,但在 Android 上显示

android - Gridview 缩略图在一段时间后消失

java - 将解析器添加到用作 Web 浏览器的 Java 小程序

resize - 防止抽动标签在 gnuplot 中调整图形大小