Bonjour à toutes et à tous,
J'ai une procédure qui permet d'appliquer un masque cadre (filtre) sur un Timage.
Cette procédure fonctionne si auparavant, je crée le gif avec couleur transparente, sinon le mask se superpose à l'image.
Y a t'il une méthode plus fiable ?
Merci d'avance pour l'aide éventuelle.
Utilisation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 procedure DrawTransparent(FileGif: string; Dest: TBitmap); var Gif: TGifImage; begin Gif := TGifImage.Create; try Gif.LoadFromFile(FileGif); Gif.Images[0].Draw(Dest.Canvas, Dest.Canvas.ClipRect, True, False); finally Gif.Free; end; end;
Exemple du rendu avec le gif dont le fond est transparent !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 procedure TFormtest2.BmaskClick(Sender: TObject); begin if not Bdimagegif.Execute then exit else begin DrawTransparent(Bdimagegif.filename, Imagesource1.Picture.bitmap); end;
Le premier mask est standard, le 2ième est transparent au milieu !
@+,
Cincap
Partager