Olah Jorge Menezes ,
 jah havia recebido uma solução de outra lista ...
estah funcionando , ateh agora pelo menos , uma vez
que ainda nao fiz tudo o que desejava fazer ... porem
a tua solucao estah me parecendo mais simples ...
apesar de que para o que eu preciso mesmo , manipular
os pixles e suas cores , a outra solucao parece se
aplicar exatamente ... mas nao deixarei de fazer um
experimento  com a tua ideia , valeu mesmo por dar uma
luz :-) tava dificil a coisa , eh eh ;-) ... segue
abaixo a solucao de D. Donadan da lista javacampinas :

Wild Boar,

O que você pode fazer é utilizar um BufferedImage para
manipular o contexto gráfico do seu Canvas ou Panel. O
BufferedImage contem as funcoes que você esta
procurando, e seu contexto gráfico pode ser editado
com as funcões padroes do objeto Graphics2D.

Porém, para poder associa-lo ao Canvas, creio que a
maneira mais fácil seja desenhar suas retas direto no
BufferedImage ao inves de desenhar no Canvas, e depois
descarregar o Buffer no contexto gráfico dele. Aqui
estão alguns comandos interessantes que você pode (ou
deve!) utilizar:

// BI será criado a partir das dimensões do canvas
BufferedImage BI = (BufferedImage)
meuCanvas.createImage (
  meuCanvas.getWidth(), meuCanvas.getHeight ());

// Para desenhar no canvas, desenhe antes no grafico
do Buffer
Graphics2D G = BI.getGraphics ();
G.setColor (Color.black);
G.drawLine (0, 0, 100, 100);

// Funções para alterar os pixels do Buffer
Color corPixel = new Color (BI.getRGB (50, 50));
BI.setRGB (50, 50, Color.green.getRGB ());

// Funcao para descarregar Buffer no contexto grafico
do canvas
meuCanvas.getGraphics ().drawImage (BI, 0, 0, this);

// Sugiro que esta funçao esteja reescrevendo
// a função paint do componente canvas
public class minhaClasseCanvas extends Canvas {
...
  public void paint (Graphics g) {
     g.drawImage (BI, 0, 0, this);
  }
}

Espero que tenha dado alguma luz para o seu
desenvolvimento! ;o)
Daniel Donadon



 --- Jorge Menezes <[EMAIL PROTECTED]> escreveu: >
Caro,  para voce transformar o conteudo de Graphics
> ( Panel, Canvas,
> etc... ) em Image
> faca o seguinte :
> 
> 
> Rectangle bounds = comp.getBounds();
> 
> Image im =
> comp.createImage(bounds.width,bounds.height);
> Graphics g = im.getGraphics();
> comp.paint(g);
> 
> A partir daquí  você tera'   o  Graphics do seu
> "comp" em  "im"
> 
> Se desejar alguma implementação profissional dê uma
> olhada no "JAI" na
> pagina da Javasoft
> 
> 
> Atenciosamente,
> 
> 
> 
> Jorge Menezes
> 
> 
> 
> 
> 
> ----- Original Message -----
> From: "Wild Boar Wannabe"
> <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, September 27, 2001 8:47 PM
> Subject: [java-list] duvida "basica" java
> 
> 
> >
> >  Olah lista ,
> >  Uma duvida que parece simples mas vem me dando
> > trabalho ... e nao encontro tambem uma lista de
> > discussao que fassa ideia de como solucionar ...
> >  Eh o seguinte , apos se desenhar uma linha preta
> ,
> > por exemplo , utilizando o metodo drawLine() em um
> > Panel ou Canvas com fundo branco , como se faz
> para
> > verificar quais os pixels que foram utilizados
> para
> > representar a linha , ou seja , quais pixels que
> > ficaram com a cor preta ??? ...
> >  Se alguem souber responder esta pergunta ou
> indicar
> > uma direcao para sua solucao serah de grande ajuda
> ...
> > o que pretendo fazer sao interpretacoes de
> desenhos
> > feitos por pessoas , e para isso farei varredura
> de
> > pixels da area desenhada pela pessoa verificando
> > coisas como se foi mais desenhado dentro ou fora
> de um
> > circulo , e tambem fazendo deteccao de bordas para
> > outras verificacoes , e etc ...
> >  Jah andei procurando possiveis solucoes nas
> > documentacoes Java , mas nada parece ser o que
> > resolverah o problema ... jah andei olhando as
> classes
> > Image e cia (ImageProducer e etc ...) mas nada
> parece
> > ser exatamente o que presiso , ateh mesmo por que
> nao
> > vejo uma forma de passar o que estah representado
> no
> > Panel (ou Canvas) para uma Image ... andei dando
> uma
> > olhada na classe Graphics para tentar encontrar
> algo ,
> > e nada , isso por que eh no Graphics dos
> Components
> > que se da o "desenho" da linha ao se utilizar o
> metodo
> > drawLine() ...
> >  Bom , eh isso , alguem aih faz ideia de como se
> faz
> > para resolver o problema citado no inicio do
> e-mail
> > ??? Ou mesmo faz ideia do que serah que pode
> resolver
> > o problema para que eu posso direcionar a minha
> busca
> > ??? ...
> >  Sendo o que tinha , valeu , teh mais lista ;-)
> ...
> >
> >
>
____________________________________________________________________________
> ___________________
> > Yahoo! GeoCities
> > Tenha seu lugar na Web. Construa hoje mesmo sua
> home page no Yahoo!
> GeoCities. É fácil e grátis!
> > http://br.geocities.yahoo.com/
> >
> > ------------------------------ LISTA SOUJAVA
> ----------------------------
> > http://www.soujava.org.br  -  Sociedade de
> Usuários Java da Sucesu-SP
> > dúvidas mais comuns:
> http://www.soujava.org.br/faq.htm
> > regras da lista:
> http://www.soujava.org.br/regras.htm
> > para sair da lista: envie email para
> [EMAIL PROTECTED]
> >
>
-------------------------------------------------------------------------
> >
> 
> 
> ------------------------------ LISTA SOUJAVA
> ---------------------------- 
> http://www.soujava.org.br  -  Sociedade de Usuários
> Java da Sucesu-SP 
> dúvidas mais comuns:
> http://www.soujava.org.br/faq.htm
> regras da lista:
> http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para
> [EMAIL PROTECTED] 
>
-------------------------------------------------------------------------
>  

_______________________________________________________________________________________________
Yahoo! GeoCities
Tenha seu lugar na Web. Construa hoje mesmo sua home page no Yahoo! GeoCities. É fácil 
e grátis!
http://br.geocities.yahoo.com/

------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a