Einzelnen Beitrag anzeigen

Aljoscha

Registriert seit: 30. Dez 2004
97 Beiträge
 
#1

Gleiches Bild geladen, unterschiedliche Pixel?

  Alt 11. Jan 2012, 04:32
Guten Abend/Morgen
Ich habe folgendes Problem, ich möchte 2 Bilder laden und deren RGB Code an einer bestimmten Position ausgeben welche ich durch Edits definiere.
Wenn ich nun aber 2 mal exakt das gleiche Bild lade erhalte ich an den meisten Pixeln unterschiedliche RGB Codes.
Wie kann das sein beim gleichen Bild?
Ich hoffe ihr versteht was ich meine.

Code:
procedure TForm1.FormCreate(Sender: TObject);
var
temp: TPicture;
begin
temp:=TPicture.Create;
temp.LoadFromFile('.\fb1.jpg');

bmp1:= TBitmap.Create;
bmp1.Width := temp.Width;
bmp1.Height := temp.Height;
bmp1.Canvas.Draw(0, 0, temp.Graphic);

Image1.Picture:=temp;

temp.Free;
temp:=TPicture.Create;
temp.LoadFromFile('.\fb1.jpg');

bmp2:= TBitmap.Create;
bmp2.Width := temp.Width;
bmp2.Height := temp.Height;
bmp2.Canvas.Draw(0, 0, temp.Graphic);

Image2.Picture:=temp;

end;

procedure TForm1.Button2Click(Sender: TObject);
var
  RGB1 : TColor;
  RGB2 : TColor;
begin
  xZeiger := StrToInt(edit1.text);
  yZeiger := StrToInt(edit2.text);
  RGB1 := bmp1.Canvas.Pixels[xZeiger, yZeiger];
  RGB2 := bmp2.Canvas.Pixels[xZeiger, yZeiger];

  label1.Caption:=IntToStr(GetGValue(RGB1));
  label2.Caption:=IntToStr(GetGValue(RGB1));
  label3.Caption:=IntToStr(GetBValue(RGB1));

  label4.Caption:=IntToStr(GetRValue(RGB2));
  label5.Caption:=IntToStr(GetGValue(RGB2));
  label6.Caption:=IntToStr(GetBValue(RGB2));
end;
  Mit Zitat antworten Zitat