Hi allerseits,
ich habe ein TImage mit einem einfarbigen Bild. Die Farbe möchte ich beliebig ändern können. Dazu benutze ich die folgende Prozedur:
Code:
procedure TForm1.setzeBitmapFarbe(BitMap: TBitmap; NeueFarbe:TAlphaColor);
var
BitmapData: TBitmapData;
Pixel: PAlphaColor;
I, J: Integer;
begin
if Bitmap.Map(TMapAccess.ReadWrite, BitmapData) then begin
for J := 0 to Bitmap.Height - 1 do begin
Pixel := BitmapData.GetScanline(J);
for I := 0 to Bitmap.Width - 1 do begin
if (TAlphaColorRec(Pixel^).R <>0)
or (TAlphaColorRec(Pixel^).G <>0)
or (TAlphaColorRec(Pixel^).B <>0) then begin
Pixel^ := NeueFarbe;
end;
Inc(Pixel);
end
end;
Bitmap.Unmap(BitmapData);
end;
end;
Das funktioniert auch wunderbar unter
WIN32. Auf dem iPad und auch auf dem Simulator sind aber rot und blau vertauscht. Woran kann das denn liegen?