如何将像 Rectangle2D.Double 这样的 Shape 对象转换为 Image 对象?
这样我就可以使用 Shape 对象来替换鼠标光标。
做draw(shape)
一个,BufferedImage
如图所示。
您必须创建一个在正确位置包含正确像素的图像对象。
一种方法是这样的:
public Image makeImage(Shape s) {
Rectangle r = s.getBounds();
Image image = new BufferedImage(r.width, r.height, BufferedImage.TYPE_BYTE_BINARY);
Graphics2D gr = image.createGraphics();
// move the shape in the region of the image
gr.translate(-r.x, -r.y);
gr.draw(s);
gr.dispose();
return image;
}
不过,您可能希望使用另一种颜色模型,以使您的形状显示为透明背景,而不是黑白或其他颜色。