Récupérer les valeurs en RVB d'un Bitmap
Bonjour,
Dans le cadre d'un projet je cherche à convertir une image Bitmap couleur en Noir et blanc, et stocker les valeurs en RVB dans un tableau.
Mon professeur m'a donné ce bout de code qui utilise scanline, hors elle ne fonctionne pas sous lazarus... et je ne parvient pas a trouver un équivalent...
*
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| Type
TRVB=record
R,V,B:byte;
end;
Pbitmap=^Tbitmap;
cimage=class
imageRVB:array[0..Nm1max,0..Nm1max] of TRVB;
largeur, hauteur :integer;
constructor create(bmp:Pbitmap);
* Constructor Cimage.create(bmp:Pbitmap);
var i,j:integer;
p:^byte;
begin
for i:=0 to bmp^.Height-1 do
begin
p:=bmp^.scanline[i];
for j:=0 to bmp^.width-1 do
begin
imagervb[i,j].B:=p[j*3];
imagervb[i,j].V:=p[j*3+1];
imagervb[i,j].R:=p[j*3+2];
end;
end;
largeur:=bmp^.width;
hauteur:=bmp^.height;
end; |
Merci d'avance!