Bom dia pessoal, preciso carregar uma imagem em um TBItmap e depois
trabalhar com GetRValue, GetGValue e GetBValue.

procedure Thread_Cobertura.JpgToBmp;
var
JPEG : TJPEGImage;
begin
  PEG := TJPEGImage.Create;
  try
    JPEG.LoadFromFile(Arquivo);
    BMP := TBitmap.Create;
    BMP.Width  := JPEG.Width;
    BMP.Height := JPEG.Height;
    BMP.Canvas.Draw(0, 0,JPEG);
  finally
    JPEG.Free;
    end;
end;
//obs: BMP um TBItmap;

...


  // Percorre os píxels ...
for i := 0 to BMP.Height - 1 do
  begin
    for j := 0 to BMP.Width - 1 do
    begin
      R := GetRValue(BMP.Canvas.Pixels[j,i]);
      G := GetGValue(BMP.Canvas.Pixels[j,i]);
      B := GetBValue(BMP.Canvas.Pixels[j,i]);

...

O codigo compila e roda normal, porém os valores para RGB são sempre 255,
255, 255 (ausencia de cor), porem se eu jogar o BMP em um TImage, ou no
cavas do Form, a imagem é exibida normalmente ...

alguem tem alguma dica? devo fazer outro procedimento p/ jogar a imagem pro
BMP ?


[As partes desta mensagem que não continham texto foram removidas]

Responder a