Чтобы загрузить изображение в память, вы можете использовать ImageIO.read(File)
. Чтобы отредактировать его впоследствии, получите экземпляр Graphics2D из него, вызвав createGraphics()
:
BufferedImage img = ImageIO.read(yourFile);
Graphics2D g = img.createGraphics();
// Draw here on the graphics
g.dispose();
Вы даже можете включить сглаживание, установив RenderingHint перед рисованием:
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIASING_ON);
Затем, чтобы добавить его в JPanel, создайте свой собственный JComponent и добавьте экземпляр этого компонента в свой JPanel:
public class JImageComponent extends JComponent
{
private BufferedImage img;
public JImageComponent(BufferedImage bi)
{
img = bi;
}
@Override
public void paintComponent(Graphics g)
{
g.drawImg(img, 0, 0, this);
}
}