tbitmappens scanline property er en pointer der peger paa den foerste pixel i bitmappen. den record du skal bruge er typisk en 32 bit rgba farve.
TRGBA = record
b,g,r,a: byte;
end;
der skal oprettes en pointertype af denne:
PRGBA = ^TRGBA;
saa laver du en var i den procedure hvor du vil tegne pixels:
procedure paint;
var pixel: prgba;
i,i2,t: integer;
begin
for i := 0 to bitmap.height-1 do
begin
pixel := bitmap.scanline[i];
for i2 := 0 to bitmap.width-1 do
begin
t := round(sin(i/360)*255);
pixel^.r := t;
pixel^.g := t;
pixel^.b := t;
pixel^.a := 255;
end;
end;
end;
sig endelig til hvis at det ikke er rigtigt. har desvaerre ikke adgang til delphi her. bemaerk at dette kun virker paa 32 bit bitmaps. hvis du vil lave 24 bit bitmaps saa skal du bare fjerne a typen i trgba
Hilsen Jeppe
Indlæg senest redigeret d. 15.03.2006 18:39 af Bruger #782