【发布时间】:2017-08-18 13:15:24
【问题描述】:
在JPanel 的paintComponent 方法中,我正在使用Graphics 绘制图像,但是我需要水平翻转,并且翻转需要在该方法中进行。我该怎么做?
RoosterB 是 Rooster 的子代,而 Rooster 是 JPanel 的子代。
public class RoosterB extends Rooster
{
public RoosterB()
{
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
// Red stuff
g.setColor(new Color(56, 118, 29));
g.drawLine(6, 0, 11, 0);
g.drawLine(9, 1, 13, 1);
g.drawLine(8, 2, 9, 2);
g.drawLine(12, 2, 13, 2);
g.drawLine(12, 5, 12, 7);
g.drawLine(13, 5, 13, 9);
g.drawLine(14, 4, 14, 8);
g.drawLine(5, 23, 5, 23);
g.drawLine(8, 24, 8, 24);
// Beak
g.setColor(new Color(241, 194, 50));
g.drawLine(13, 5, 14, 5);
g.drawLine(13, 7, 15, 7);
// Eye
g.setColor(Color.BLACK);
g.drawLine(10, 3, 10, 4);
g.setColor(new Color(147,196,125));
g.drawLine(11, 3, 11, 4);
// Wing
g.setColor(new Color(102, 102, 102));
g.drawLine(0, 12, 0, 13);
g.drawLine(1, 12, 1, 15);
g.drawLine(2, 13, 2, 16);
g.drawLine(3, 13, 9, 13);
g.drawLine(3, 14, 8, 14);
g.drawLine(3, 15, 7, 15);
g.drawLine(7, 12, 8, 12);
g.drawLine(8, 11, 8, 11);
g.drawLine(10, 11, 10, 12);
g.setColor(Color.BLACK);
g.drawLine(3, 16, 6, 16);
g.drawLine(8, 15, 8, 15);
g.drawLine(9, 14, 9, 14);
g.drawLine(10, 13, 10, 13);
// Feet
g.setColor(new Color(147,196,125));
g.drawLine(5, 24, 5, 25);
g.drawLine(8, 25, 8, 25);
g.setColor(new Color(56, 118, 29));
g.drawLine(4, 26, 6, 26);
g.drawLine(5, 27, 5, 27);
g.drawLine(8, 26, 8, 28);
g.drawLine(7, 27, 9, 27);
}
}
【问题讨论】:
-
你能用
paintComponent发布minimal reproducible example 吗? -
使用 gimp 或类似程序翻转图像,然后加载其中一个。
-
@c0der 更有帮助吗?
-
@Lowenstein,它是如何完成的?我们无法编译或执行代码。
标签: java graphics rotation flip