Bonjour et merci pour ces joli tutoriels !
Petite remarque sur FillRectAntialias. Les procédures avec des paramètres de type Single suppose a priori que les coordonnées sont centrées sur les pixels. Donc la ligne suivante:
LBGRAMask.FillRectAntialias(0, 0, imgResult.ClientWidth, imgResult.ClientHeight, BGRABlack);
n'efface pas vraiment tout. Le 0,0 ne remplit qu'à moitié les pixels en haut à gauche.
Pour remplir tout, il faut spécifier le paramètre pixelCenteredCoordinates à false. Cela revient alors au même résultat qu'en utilisant la procédure FillRect tout court.
Notez que dans ce cas, il s'agit d'effacer toute l'image, ce qui peut se faire avec
LBGRAMask.Fill(BGRABlack);
Sinon, il me semble que dans la ligne suivante :
LBGRAMask := TBGRABitmap.Create(imgResult.ClientWidth, ClientHeight, BGRABlack);
Il s'agit en fait de imgResult.ClientHeight au lieu de ClientHeight.
Cordialement
Partager