wie muss ich diese Funktion überarbeiten, damit die unter FMX und dann später auch unter FMLinux funktioniert ?
Was wird aus Bit.ScanLine am besten?
Delphi-Quellcode:
procedure SingleChannelImage(
Bit : TBitMap;
c : integer );
type
PixArray = Array [ 1 .. 3 ] of Byte;
var
p : ^PixArray;
h, w : integer;
begin
Bit.PixelFormat := pf24bit;
For h := 0 to Bit.height - 1 do
begin
p := Bit.Scanline[ h ];
For w := 0 to Bit.width - 1 do
begin
case c of
1 :
begin
{ B-Channel }
p^[ 2 ] := 0;
p^[ 3 ] := 0;
end;
2 :
begin
{ G-Channel }
p^[ 1 ] := 0;
p^[ 3 ] := 0;
end;
3 :
begin
{ R-Channel }
p^[ 2 ] := 0;
p^[ 1 ] := 0;
end;
else
end;
inc( p );
end;
end;
end;