Fala galera,
Estou mechendo com desenho de polígonos usando o Graphics2D,
para desenho de retangulos, triangulos, efeitos de transparencia, gradiente, semelhante ao Adobe Fireworks
estou usando como área de desenho um Jlabel, e redesenhando a área pelo método paint()
existe alguma forma de otimizar o desenho usando aceleração de hardware?
programas como Fireworks ou Gimp utilizam aceleração de hardware?
Voce pdoe desenhar em uma BufferedImage e mandar seu JPanel (não pelo JLabel) redesenhar o BufferedImage, é possivel pegar o Graphics2D do BufferedImage e mandar desenhar ele no Graphics passado pelo paintComponent (não paint) do JPanel.
BufferedImage é rapido por que estará pré-renderizado e é acelerado por hardware.
Estou seguindo este tutorial - http://www.guj.com.br/articles/138 - para desenhar polígonos no BufferedImage.
mas então a sua idéia seria escrever a imagem no BufferedImage primeiro, para depois escrever no JPanel?
percebo também que neste tutorial o autor usa a classe ImageIcon para escrever o buffer em um JLabel:
public class ExemploImagem {
public static void main(String[] args) {
JFrame frm = new JFrame(“Teste Imagem”);
JPanel pan = new JPanel();
JLabel lbl = new JLabel( criarImagem() );
pan.add( lbl );
frm.getContentPane().add( pan );
frm.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frm.pack();
frm.show();
}