私はJavaが初めてです。大きなサイズの png ファイルを縦横比を維持して標準のファイル サイズにリサイズしました。以下は、私が使用したコードスニペットです。しかし、このコード スニペットに見られる欠点は、サイズを変更した後、ファイル サイズが元のサイズよりもはるかに大きくなることです。たとえば、オリジナルは 5kb で、サイズ変更された新しいものは 16kb です。
サイズ変更時にこのファイルサイズが大きくなるのを避けるために親切に助けてください
public void SaveImage(String imagePath, BufferedImage image) {
try {
BufferedImage bi = image;
File newImageFile = new File(imagePath);
ImageIO.write(bi, "png", newImageFile);
} catch (IOException e) {
}
}
public BufferedImage resizeImage(final Image image, Dimension newDimension) {
final BufferedImage bufferedImage = new BufferedImage(newDimension.width, newDimension.height, BufferedImage.TYPE_INT_RGB);
final Graphics2D graphics2D = bufferedImage.createGraphics();
//graphics2D.setComposite(AlphaComposite.Src);
graphics2D.drawImage(image, 0, 0, newDimension.width, newDimension.height, null);
graphics2D.dispose();
return bufferedImage;
}