我在绘制Graphics2D时遇到了奇怪的行为。
从X开始画一条线,Y画出一个圆心,中心位于相同的X,Y但是图像不在同一位置。
这是代码:
BufferedImage bufferedImageData = new BufferedImage(HGT_ROW_LENGTH, HGT_ROW_LENGTH, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2Data = bufferedImageData.createGraphics();
g2Data.setComposite(AlphaComposite.Clear);
g2Data.fillRect(0, 0, HGT_ROW_LENGTH, HGT_ROW_LENGTH);
g2Data.setComposite(AlphaComposite.Src);
Font font = new Font("Courier New", Font.BOLD, 20);
g2Data.setFont( font );
g2Data.setColor( new Color(216, 15, 15) );
int theValue = "1222";
g2Data.drawLine( X, Y, X , Y - theValue );
Ellipse2D.Double circle = new Ellipse2D.Double(X, Y, 50, 50);
g2Data.fill(circle);
String s = String.valueOf( theValue );
g2Data.drawString( s, X, Y );
我认为该行必须从圆心开始。