java - 如何缩放 BufferedImage

标签 java image image-processing bufferedimage image-scaling

按照 javadocs,我尝试缩放 BufferedImage 没有成功这是我的代码:

BufferedImage image = MatrixToImageWriter.getBufferedImage(encoded);
Graphics2D grph = image.createGraphics();
grph.scale(2.0, 2.0);
grph.dispose();

我不明白为什么它不起作用,有什么帮助吗?

最佳答案

AffineTransformOp提供了选择插值类型的额外灵 active 。

BufferedImage before = getBufferedImage(encoded);
int w = before.getWidth();
int h = before.getHeight();
BufferedImage after = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
AffineTransform at = new AffineTransform();
at.scale(2.0, 2.0);
AffineTransformOp scaleOp = 
   new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR);
after = scaleOp.filter(before, after);

显示的片段说明了resampling ,而不是 cropping ;这个相关的answer地址issue ;检查了一些相关示例here .

关于java - 如何缩放 BufferedImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4216123/

相关文章:

python - 如何使用OpenCV从图像中提取身份证件感兴趣区域?

java - 套接字超时异常 : Read timed out

optimization - 检索从 SIFT/SURF 获得的最重要的特征

python - 如何隔离图像中的单一颜色

windows - 使用GDI显示图像的红色 channel

java - 从 iText 的 Barcode39 图像中获取字节

jquery - 使用 Jquery 发布图像

java - 是否可以重启 Netbean 的 Tomcat 捆绑版本?

java - 我们可以使用 AEM 版本 6.4.2 的 Archetype 22 吗?

java - Selenium getAttribute(href) 使用 java 返回 null 值 - Salesforce 应用程序