У меня есть основное изображение 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;
}
}