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]
-------------------------------------------------------------------------