【发布时间】:2013-10-29 07:32:41
【问题描述】:
所以,我正在画 100 个同心圆。然而,当我尝试使用 Graphics2D 渲染如此大量的同心圆时,它开始看起来有点模糊并且通常没有吸引力(见图)。
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
g2.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
g2.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
g2.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE);
g2.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
我已经完成了所有这些工作,但这似乎已经做得很好了。还有什么我可以做的,或者是否有另一个图书馆可以让我得到更好的结果?
编辑:这都是由 fillOval 方法完成的。比如:
for (int i = 0; i < 100; i++) {
x = getX(i);
y = getY(i);
length = getLength(i);
g2.fillOval(x,y,length,length);
}
【问题讨论】:
-
那张照片让我眼花缭乱:O 出于好奇,你为什么要这样做?
-
这只是一个……实验……
-
如需尽快获得更好的帮助,请发帖SSCCE。
-
取决于你如何渲染它,正如@AndrewThompson 所说,请发布一些代码。
-
您可以尝试的另一件事是将 RenderingHints.KEY_STROKE_CONTROL 设置为 RenderingHints.VALUE_STROKE_NORMALIZE,这将使笔触更清晰,或 VALUE_STROKE_PURE,使它们更融合。
标签: java awt java-2d graphics2d