Como proceder para pegar a cor de um pixel em um objeto Canvas? eu estou utilizando um Graphics pegado do objeto canvas, mas nele não existe nenhum get_pixel, ou algo parecido apenas getcolor mas eu quero a cor de um pixel e não a cor setada, alguem pode me ajudar?
vc nao pega, oq dá é pegar os piels de uma imagem, q vc irá pinta-la numa tela
ao invez de fazer assim:
public void paint(Graphics g)
{
g.drawUmMonteDeCoisas();
}
faça assim:
public void paint(Graphics g)
{
Image img = Image.createImage(lar, alt);
Graphics gimg = img.getGrapsics();
gimg.drawUmMonteDeCoisas();
// nao tenho certeza se é exatamente assim
int pixels[] = new int[lar * alt];
gimg.getRGB(pixels, 0, lar, 0, 0, lar, alt);
g.drawImage(img, 0, 0, HCENTER | VCENTER);
}
flw, t+
valeu pela dica amigo, mais uma duvida o metodo paint é chamado sempre que necessario atualizar a parte grafica ou seja varias vezes, bom pelo o que eu vi no seu codigo vc cria um image toda vez que este metodo é chamado isso não tem problema? o fato de eu cria um objeto em cima do outro o proprio java manipula isso? e libera a memoria usada do objeto anterior?
o código q eu passei foi só de exemplo, claro q se vc tiver q fazer isso farias vezes seria melhor pintar e repintar a mesma imagem, e ñ cria uma a todo momento
mas o coletor de lixo da máquina virtual cuida de desalocação dos objetos q estão “sobrando”, isto é, não estão mais sendo referenciados, mas caso vc queira garantir (ou forçar) essa limpesa então use ‘System.gc()’
flw, t+