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 : Sélectionner tout - Visualiser dans une fenêtre à part
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!