如何在JPanel中加载图像?

问题描述:

我有一个PNG图像,我想用它作为画笔。如何在JPanel中加载图像?

我想画一些东西到JPanel

如何加载图像作为笔刷使用JPanel

+3

欢迎来到SO!阅读[whathaveyoutried.com](http://whathaveyoutried.com),[常见问题](http://*.com/faq)和[*问题清单](http://tinyurl.com/so-list ),改述你的问题,告诉我们你已经尝试了什么,并描述你所面临的问题。我相信我们会帮助你,而不是。 – jlordo

+1

'TexturePaint'可能是一个有用的搜索词。 – trashgod

+2

1)这分为两个问题a)“如何加载图像?” b)“如何将图像绘制到面板上?” 2)对(a)的回答一般可以在'ImageIO.read(..)'中找到。3)您想将图像用作面板的BG,还是仅将其显示在面板中?如果'show' - 使用'JLabel(ImageIcon(Image))'。 –

final Image image = new ImageIcon("C:/images/image.png").getImage(); 
JPanel panel = new JPanel() { 
    @Override 
    protected void paintComponent(Graphics g) { 
     g.drawImage(imageToPaint, 
      (desired x location), (desired y location), null); 
    } 
}; 
+3

-1不会重写'paint'并且不要重新创建轮。 – user1329572

+0

@ user1329572此外,他说他想用图像作为“画笔”。这意味着他希望使用画布绘制图形,并且使用* paint *是显示图像的最佳方式。 – Aaron

+3

不不不不@JesusPlusPlus,绘画方法不用于绘画这样的东西。总是为这样的任务重写'paintComponent()'。只有当你需要改变'Graphics'对象的状态时才使用'paint()',因此,除了所述组件的内容外,它还是边界以及子对象可以用'Graphics对象。 –