为什么我的第二种图形方法没有显示在输出中?

问题描述 投票:0回答:0

我正在用 java 编写代码来围绕一个圆圈旋转图像(以创建一朵花),我需要打印出 6 朵花。当运行第一个方法 - redFlowers(g) - 它打印出来的很好。但是,当我尝试在第二种方法(即 orangeFlowers(g))之后运行第一种方法时,第二种方法根本不会打印出来。我正在使用 g2d.rotate() 和 g2d.translate。 有谁知道为什么会这样?

这是我的代码:

``
public void redFlowers(Graphics g) {
g.setColor(Color.RED);
g.drawOval(80, 330, 65, 63);
g.fillOval(80, 330, 65, 63);

g.setColor(c);
((Graphics2D) g).setStroke(new BasicStroke(4));
g.drawLine(112, 395, 112, 575);
Image im = new ImageIcon("flower1.jpg").getImage();
// g.drawImage(im, 61, 300, 40, 50, null);

Graphics2D g2d = (Graphics2D) g;
g2d.translate(61, 300);

g2d.rotate(-3.14159 / 2); // top left
g2d.drawImage(im, -92, -50, 46, 70, this);

g2d.rotate(3.14159 / 3.5); // middle left
g2d.drawImage(im, -20, -20, 46, 70, this);

g2d.rotate(-3.14159 / 1); // bottom right
g2d.drawImage(im, -22, -181, 46, 70, this);

}

public void orangeFlowers(Graphics g) {
g.setColor(Color.ORANGE);
g.drawOval(280, 330, 65, 63);
g.fillOval(280, 330, 65, 63);
g.setColor(c);
((Graphics2D) g).setStroke(new BasicStroke(4));
g.drawLine(312, 395, 312, 575);
}
``
java methods graphics rotation
© www.soinside.com 2019 - 2024. All rights reserved.