Dúvidas sobre manipulação de imagens

Delphi

08/09/2005

Olá!

Algumas dúvidas sobre manipulação de imagens:

1) Tenho em um form um botão que carrega uma foto para um TImage. Queria fazer um código que excluísse as última três linhas horizontais da imagem.

Ps.: Essa figura nem sempre será BMP. Pode ser JPG ou GIF.

Ps2.: E se eu quisesse fazer isso em todas as imagens que compõem um GIF animado sem fazer com que o gif deixe de ser animado?

2) Similarmente a pergunta anterior, como ficaria se eu quisesse pintar de branco essas últimas três linhas ao invés de excluir?

Mesmas observações da anterior.

Agradeço desde já!

Até!


Delphi32

Delphi32

Curtidas 0

Respostas

Michelli88

Michelli88

08/09/2005

...e eu quisesse pintar de branco essas últimas três linhas ao invés de excluir?


Voce poderia para desenhar um retangulo na frente da imagem.


GOSTEI 0
Delphi32

Delphi32

08/09/2005

eh, foi mais ou menos o q eu fiz...

na verdade, como eu já sei previamente que da linha 138 até a 149 e da coluna 0 até 149 deveria ter esse retângulo eu fiz o seguinte:

1) Converti o GIF para Bitmap
2)
var x,y:integer;
begin
for x := 138 to 149 do
for y:=0 to 149 do
vBitmap.Canvas.Pixels[x,y] := clWhite;
end;

3) Converti de volta para GIF.

E no caso de ser um GIF animado eu ainda não testei, mas o componente RxGifAnimator da RxLibrary que me permite acesar os frames do GIF da seguinte forma:

RxGIFAnimator1.Image.Frames[x].Bitmap

Essa linha me retorna em bitmap um dos frames do gif. Sendo assim eu posso facilmente substituí-lo por um outro bitmap já manipulado com a rotina anterior. Mas com o gif animado eu ainda não testei não... depois posto aqui pra dizer se funcionou ou não.

Valeu pela ajuda!

Até!


GOSTEI 0
POSTAR