Remover imagem desenhada em um TImagem
Dei uma pesquisada aqui no fórum mas não achei.
Estou desenhando a minha imagem assim:
Já ta adicionando a imagem normal, como faço pra remover essa imagem que ta desenhada em cima do meu TImagem ?
Obs: Preciso remover somente a imagem adicionada, pq posso ter mais de uma imagem no TImagem.
[]s
Estou desenhando a minha imagem assim:
begin
imgExemplo:= TPNGGraphic.Create;
Try
Try
imgExemplo.LoadFromFile(figura);
Image1.Canvas.Draw(H,V,imgExemplo);
Except
ShowMessage( Arquivo não foi localizado !);
end;
finally
imgExemplo.Free;
end;
No botão: Desenha(C:\Imagem.png,10,20);
Já ta adicionando a imagem normal, como faço pra remover essa imagem que ta desenhada em cima do meu TImagem ?
Obs: Preciso remover somente a imagem adicionada, pq posso ter mais de uma imagem no TImagem.
[]s
Vander Carlos
Curtidas 0
Respostas
Joel Rodrigues
31/07/2012
Você pode desenhar várias imagens sobre o TImage e quer remover apenas a última? Acredito não ser possível.
GOSTEI 0
Ewerton Rodrigues
31/07/2012
Não sei se é isto mesmo
Mas você poderia fazer o IMAGE receber NIL
ex: image1.picture := NIL;
Mas você poderia fazer o IMAGE receber NIL
ex: image1.picture := NIL;
GOSTEI 0
Vander Carlos
31/07/2012
Eu não quero remover a última, quero remover independente dela ser a primeira ou a última.
Eu tenho várias imagens que podem ser adicionadas em cima dessa TImagem.
Minha ideia é fazer isso:
[url]http://totalclinic.com.br/wp-content/gallery/odontograma/odontograma_0.png[/url]
[]s
Eu tenho várias imagens que podem ser adicionadas em cima dessa TImagem.
Ex: imgExemplo1: TPNGGraphic; imgExemplo2: TPNGGraphic; imgExemplo3: TPNGGraphic; Image1.Picture:= nil; //Assim ele remove tudo.
Minha ideia é fazer isso:
[url]http://totalclinic.com.br/wp-content/gallery/odontograma/odontograma_0.png[/url]
[]s
GOSTEI 0
Joel Rodrigues
31/07/2012
Bom, se você se refere a desenhar as imagens dos dentes, uma ideia é você definir áreas para cada dente. Assim, para excluir uma imagem, bastaria desenhar um retângulo preenchido sobre a mesma.
Porém, se você deseja fazer a parte dos desenhos sobre as imagens dos dentes (contornos e marcas), ainda acredito não ser possível, infelizmente.
Porém, se você deseja fazer a parte dos desenhos sobre as imagens dos dentes (contornos e marcas), ainda acredito não ser possível, infelizmente.
GOSTEI 0
Vander Carlos
31/07/2012
Todas essas imagens que estão sobre os dentes estão prontas, então é só adicionar a posição delas sobre os dentes.
Cada dente desse vai ser uma Image, e cada dente vai ter um PopupMenu1 para selecionar a imagem.
Deu pra entender melhor?
[]s
Cada dente desse vai ser uma Image, e cada dente vai ter um PopupMenu1 para selecionar a imagem.
Deu pra entender melhor?
[]s
GOSTEI 0
Joel Rodrigues
31/07/2012
Então, para limpar o canvas, tente usar o TCanvas.Refresh ou TImage.Repaint.
GOSTEI 0
Vander Carlos
31/07/2012
Tentando usar o Refresh dessa forma:
Me retornou esse erro:
Ai tirei ele do finally:
Depois disso ele não retornou o erro mas também não fez nada.
imgExemplo.Canvas.Refresh;
Me retornou esse erro:
Access violation at address 00431BB7
Ai tirei ele do finally:
imgExemplo:= TPNGGraphic.Create;
Try
// Try
imgExemplo.LoadFromFile(figura);
Image1.Canvas.Draw(H,V,imgExemplo);
Except
ShowMessage( Arquivo não foi localizado !);
end;
// finally
// imgExemplo.Free;
end;
//end;Depois disso ele não retornou o erro mas também não fez nada.
GOSTEI 0
Joel Rodrigues
31/07/2012
Não é no imgExemplo e sim no Image1.Canvas.
GOSTEI 0
Vander Carlos
31/07/2012
Também não faz nada, mas se dessa forma ele vai remover todas as imagens que foram criadas em cima dele nao ?
[]s
[]s
GOSTEI 0
Joel Rodrigues
31/07/2012
Sim, amigo, dessa forma o canvas será limpo (ou deveria).
Bom, não conheço nenhuma rotina que possa lhe ajudar nesse caso, infelizmente.
Tente o Image1.Repaint, é minha última sugestão.
Bom, não conheço nenhuma rotina que possa lhe ajudar nesse caso, infelizmente.
Tente o Image1.Repaint, é minha última sugestão.
GOSTEI 0
Vander Carlos
31/07/2012
Hm, ta certo.
Vou tentar aqui depois posto um resultado, valeu pela ajuda.
[]s
Vou tentar aqui depois posto um resultado, valeu pela ajuda.
[]s
GOSTEI 0