我有这个问题。我正在使用此代码来旋转图像,但旋转的图像由于旋转而在其角落中具有黑色填充。 我怎么能把它删除?
public static BufferedImage rotate(BufferedImage img, int angle) {
rotate_checked = false;
int w = img.getWidth();
int h = img.getHeight();
BufferedImage dimg =new BufferedImage(w, h, BufferedImage.TYPE_BYTE_GRAY);
Graphics2D g = dimg.createGraphics();
g.rotate(Math.toRadians(angle), w/2, h/2);
g.drawImage(img, null, 0, 0);
return dimg;
}
答案 0 :(得分:0)
您需要创建透明图像:
BufferedImage buffer = gc.createCompatibleImage(height,width,Transparency.TRANSLUCENT);
其中'gc'是Graphics2D对象。您也可以使用新的BufferedImage()直接创建一个,但这将为您的特定图形上下文提供最有效的图像。