我正在尝试将以下代码转换为Java:
image = PIL.Image.open(iconFile)
image = image.convert('L').resize(
(9, 8),
Image.ANTIALIAS,
)
- >
BufferedImage picture = ImageIO.read(new File(iconFile));
int IMG_WIDTH = 9;
int IMG_HEIGHT = 8;
BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT, BufferedImage.TYPE_BYTE_GRAY);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(picture, 0, 0, IMG_WIDTH, IMG_HEIGHT, null);
g.dispose();
如何执行抗锯齿操作?我的应用程序是一个缩放图像的命令行工具。
答案 0 :(得分:2)
我最近也必须这样做。我发现Java默认图像重新缩放操作不适合缩小图像尺寸并留下低质量的画面。
最后我开始使用the java-image-scaling library。它非常好用且易于使用,并提供非常好的表面处理。
示例用法是:
ResampleOp resampleOp = new ResampleOp (100,200);
BufferedImage destImage= resampleOp.filter(sourceImage, null);