Bonjour,

Je transcris en Lazarus un composant Delphi que j'utilise sans problème et que je n'ai pas écrit, je l'avoue !

Dans le code du composant Delphi, il y a ces lignes...
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
 
for y:=0 to d.Height-1 do
  begin
  l:=c.ScanLine[y];
  t:=d.ScanLine[y];
  for x:=0 to d.Width-1 do
    if not ((l^[x*3+2]=255) and (l^[x*3+1]=0) and (l^[x*3]=0) and
           (t^[x*3+2]=0) and (t^[x*3+1]=0) and (t^[x*3]=255)) then
      begin
      if Result=0 then
        Result:=CreateRectRgn(x,y,x+1,y+1)
      else
        begin
        r:=CreateRectRgn(x,y,x+1,y+1);
        CombineRgn(Result,Result,r,RGN_OR);
        DeleteObject(r);
        end;
      end;
  end;
c et d sont des TBitMap
l et t sont des PBtyteArray;

Hélas, je viens de découvrir que ScanLine n'existe pas dans Lazarus !

Comme je suis une bille de première en graphisme, j'ai beau chercher, je ne vois pas comment traduire ces quelques lignes !

Est-ce que quelqu'un peut m'aider ?

Merci d'avance

JS