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:
Post a Comment