我创建了一个画笔(BufferedImage)如下(代码1)......
g.setPaint(Color.BLACK);
g.fillArc(0, 0, w, w, 0, 360);
然后我使用RGBImageFilter(代码2)改变该图像的颜色......
public int filterRGB(int x, int y, int rgb) {
int alpha = rgb & 0xFF000000;
int newrgb = (color.getRGB() & 0x00FFFFFF) | alpha;
return newrgb;
}
现在,如果我将鼠标拖到画布上,它将在每个鼠标点上绘制画笔图像(代码3)......
g2.drawImage(brush.image, trop, (int) (x - offset), (int) (y - offset));
上面的代码工作正常。
但是如果我向代码1添加渲染提示......
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setPaint(Color.BLACK);
g.fillArc(0, 0, w, w, 0, 360);
我在圆圈边缘得到一个神器,如下面所示(忽略上面和下面的线条)......
任何解决此问题的方法仍然使用抗锯齿功能?
谢谢!