使用Java调整图像大小

比雷迪

我有一个尺寸的JPEG主图像和另一个尺寸的输入Jpeg图像。因此,我编写了以下代码,将图像从一维转换为另一维。当输入图像的尺寸约为900 * 700且主图像的尺寸为1200 * 800时,此代码可以正常工作。当主图像/输入图像的尺寸大约为3400 * 1900和4400 * 2400时,此功能将不起作用。谁能告诉我我哪里出问题了!

public void checkSizeandResize(String file1, String file2){

   BufferedImage scaled = null;
   BufferedImage image1 = null;
   BufferedImage image2 = null;
   Graphics2D graphics2d = null;
   try{
    image1 = imageToBufferedImage(loadJPG(file1));
    image2 = imageToBufferedImage(loadJPG(file2));
    if(image1.getHeight()!=image2.getHeight() || image1.getWidth()!=image2.getWidth()){

            scaled = new BufferedImage(image2.getWidth(),image2.getHeight(), image2.getType());
            graphics2d =  scaled.createGraphics();
            graphics2d.setComposite(AlphaComposite.Src);
            graphics2d.drawImage(image1, 0, 0,null);
            graphics2d.dispose();
            ImageIO.write(image1, extension,new File(file2));

        }
    }
    catch(Exception exception)
    {
        exception.printStackTrace();
    }
    finally
    {
        scaled = null;
        image1 = null;
        image2 = null;
        graphics2d = null;
    }
}
疯狂程序员

因此,我对ImageIO.read从6144x4096到7680x4800的图像进行了快速测试(使用了您未提供的所有代码)

但是我确实注意到您正在写image1而不是scaled

ImageIO.write(image1, extension,new File(file2));

应该是

ImageIO.write(scaled, extension,new File(file2));

您还应该注意,这实际上并不是在“缩放”图像,而是仅更改结果位图的大小(image1将保持其原始大小的像素大小并在scaled未修改边界内绘制

如果您实际上有兴趣更改图像的物理尺寸以匹配相应的边界,则可以考虑看看Java:在调整尺寸很低之后,保持JPanel背景图像的宽高比图像质量-Java

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用PHP直接从URL调整图像大小

来自分类Dev

使用CSS调整大小和裁剪图像

来自分类Dev

如何使用PHP批量调整图像大小

来自分类Dev

调整Java图像大小

来自分类Dev

使用CSS调整图像大小

来自分类Dev

使用javascript调整图像大小

来自分类Dev

使用URL调整WordPress中图像的大小

来自分类Dev

在Ubuntu上使用convert调整图像的大小

来自分类Dev

如何使用Bootstrap调整图像大小

来自分类Dev

调整NSAttributedString中使用的图像的大小

来自分类Dev

使用空白来源调整图像大小

来自分类Dev

使用位图调整大图像大小的OutOfMemoryException

来自分类Dev

使用createjs / easyljs调整图像大小

来自分类Dev

上传前使用画布调整图像大小

来自分类Dev

使用Pillow Python调整图像大小

来自分类Dev

使用AlamofireImage调整下载图像的大小

来自分类Dev

使用CSS调整图像的裁剪部分的大小

来自分类Dev

使用ImageMagick和CloudConvert调整图像大小

来自分类Dev

如何使用python下载调整大小的图像?

来自分类Dev

使用CSS Grid调整图像大小

来自分类Dev

使用Shell脚本调整图像大小

来自分类Dev

Java从URL调整图像大小?

来自分类Dev

Java GUI调整图像大小

来自分类Dev

使用CSS调整图像大小

来自分类Dev

使用imagemagick调整图像大小

来自分类Dev

Java全屏图像调整大小?

来自分类Dev

使用CSS调整图像大小

来自分类Dev

以因子 2 调整 Java 中的图像大小

来自分类Dev

使用 javascript 调整图像大小