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...
c et d sont des TBitMap
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;
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
Partager