Java 线条是有角度的

Java 线条是有角度的,java,image,paint,drag,Java,Image,Paint,Drag,我想在图像上绘制用户在屏幕上绘制的内容。为此,我创建了一个保存图像的图像数组。这就是它应该如何运作的原因。但如果我画一个圆或其他一些圆形,它显示的是非常有角度的,而不是接近圆形的。我的代码: private void onPress(java.awt.event.MouseEvent evt) { images[actualLevel] = new BufferedImage(width, height, BufferedImage.TY

我想在图像上绘制用户在屏幕上绘制的内容。为此,我创建了一个保存图像的图像数组。这就是它应该如何运作的原因。但如果我画一个圆或其他一些圆形,它显示的是非常有角度的,而不是接近圆形的。我的代码:

private void onPress(java.awt.event.MouseEvent evt) {                         
    images[actualLevel] = new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR);
    Graphics2D g2d = (Graphics2D) images[actualLevel].getGraphics();
    g2d.fillOval(evt.getX() - 200, evt.getY() - 200, 400, 400);
    lastX = evt.getX();
    lastY = evt.getY();
    g2d = (Graphics2D) display.getGraphics();
    g2d.drawImage(images[actualLevel], 0, 0, null);
    g2d = (Graphics2D) paPaintingArea.getGraphics();
    g2d.drawImage(display, 0, 0, paPaintingArea);
    System.out.println(actualLevel);
}                        

private void onDrag(java.awt.event.MouseEvent evt) {                        
    Graphics2D g2d = (Graphics2D) images[actualLevel].getGraphics();
    g2d.setStroke(new BasicStroke(20));
    g2d.drawLine(lastX, lastY, evt.getX(), evt.getY());
    lastX = evt.getX();
    lastY = evt.getY();
    g2d = (Graphics2D) display.getGraphics();
    g2d.drawImage(images[actualLevel], 0, 0, null);
    g2d=(Graphics2D)paPaintingArea.getGraphics();
    g2d.drawImage(display, 0, 0,paPaintingArea);
}   
显示是在阵列中保存图像后在面板上绘制的图像


为什么我的线条如此棱角分明?我该如何修复它?

一般建议:你应该考虑提供你期望的和你得到的例子。如果没有它们,你很难理解你的实际问题是什么——我们只能猜测。我希望:用户在屏幕上画的东西和他画的一模一样——如果他画的话,它也是一个圆形。我得到:一个不是圆形的形状,即使用户画的东西是圆形的“它显示得很有角度”-没有视觉线索,很容易产生误解。要么你有误解,要么你做错了什么,但我们只能猜测到底是什么情况。是的,很难理解“非常有棱角”的意思。你能添加一个屏幕截图吗?这是一个屏幕截图。我用鼠标画了一个圆圈,这就是我看到的。