Java:寻找更好的调整大小方法
我编写了这个调整大小的小方法来缩放.png图片:Java:寻找更好的调整大小方法,java,Java,我编写了这个调整大小的小方法来缩放.png图片: public BufferedImage resize(BufferedImage img, int newW, int newH) { int w = img.getWidth(); int h = img.getHeight(); BufferedImage dimg = new BufferedImage(newW, newH, img.getType()); Graphics2D g = dimg.
public BufferedImage resize(BufferedImage img, int newW, int newH) {
int w = img.getWidth();
int h = img.getHeight();
BufferedImage dimg = new BufferedImage(newW, newH, img.getType());
Graphics2D g = dimg.createGraphics();
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.drawImage(img, 0, 0, newH, newW, 0, 0, w, h, null);
g.dispose();
return dimg;
}
我想把我的.png图片放大至少8倍,但这会提高图像的分辨率。有人知道如何解决这个问题吗
谢谢。你可以试试这个:
BufferedImage createResizedCopy(BufferedImage img, int newW, int newH)
{
BufferedImage scaledBI = new BufferedImage(newW, newH, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = scaledBI.createGraphics();
g.setComposite(AlphaComposite.Src);
g.drawImage(img, 0, 0, newW, newH, null);
g.dispose();
return scaledBI;
}
或者去看看,其他人也有同样的问题。如果你想使用图像,你可以做什么。GetScaleInstance然后渲染它。比如说
resizedimage = image.getScaledInstance(newW, newH, Image.SCALE_SMOOTH));
唯一的问题是您必须更改您的方法来处理图像而不是BuffereImage,但这很容易做到