我想绘制一个精确尺寸为15x15像素的圆形,并填充和描边。我正在使用Java2D。问题在于,由于顺序调用
下面是:
Graphics2D.fill(circle)
和 Graphics2D.draw(circle)
,绘制出的圆形大小为16x16像素。这是因为内部Java2D轮廓机制对于给定的15x15大小提供了16x16圆形轮廓 。此外,如果我要求Java2D绘制14x14像素圆形轮廓 - 它会准确地绘制出14x14px的圆形。我已经尝试过使用反锯齿和渲染器的笔画提示进行操作但没有成功。![illustration](https://istack.dev59.com/i5xtA.webp)
RenderingHints.VALUE_STROKE_NORMALIZE
和Ellipse2D.Double(0, 0, 15, 15)
轮廓RenderingHints.VALUE_STROKE_PURE
和 相同轮廓 - 注意1px的变形- 之前的笔画提示和
Ellipse2D.Double(0, 0, 14, 14)
RenderingHints.VALUE_STROKE_NORMALIZE
,Ellipse2D.Double(0, 0, 15, 15)
轮廓和反锯齿提示