Saturday, May 31, 2025

[JAVA] RESOLUTION INFO

import java.awt.Image;
    import java.awt.image.BaseMultiResolutionImage;
    import java.awt.image.BufferedImage;
    import java.util.List;
    import javax.imageio.ImageIO;
    import java.io.File;
    import java.io.IOException;
    
    public class MultiResolution {
        public static void main(String[] args) {
            try {
                File imageFile = new File("path/to/your/image.jpg");
                BufferedImage image = ImageIO.read(imageFile);

                if (image != null) {
                    int width = image.getWidth();
                    int height = image.getHeight();
                    BufferedImage scaledImage = new BufferedImage(width/2, height/2, BufferedImage.TYPE_INT_ARGB);
                    AffineTransform at = AffineTransform.getScaleInstance(0.5, 0.5);
                    AffineTransformOp scaleOp = new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR);
                    scaledImage = scaleOp.filter(image, scaledImage);
                    // Create a list of images with different resolutions.
                     List<Image> images = List.of(image, scaledImage);
                    // Create a multi-resolution image.
                    BaseMultiResolutionImage multiResImage = new BaseMultiResolutionImage(images);
                    Image bestImage = multiResImage.getResolutionVariant(100,100);
                    System.out.println("Best image dimensions: " + bestImage.getWidth(null) + "x" + bestImage.getHeight(null));

                } else {
                    System.out.println("Failed to load the image.");
                }

            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

No comments: