Copier canvas vers un autre avec vrai transparence!

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 133 fois - Téléchargée 47 fois

Contenu du snippet

C' est une fonction qui permet de copier un morceau d' un canvas vers un autre avec une vrai couleur de transparence (celle-ci n' est pas remplacée par la couleur du brush).

Source / Exemple :


procedure CANVAS_DRAW(Cnv_Src: TCanvas; Cnv_Dest: TCanvas; CorTransparente: TColor; Rect_Src: TRect; Dest_Top, Dest_Left: Integer);
var Bmp: TBitmap;
begin
  Bmp := TBitmap.Create;
  Bmp.PixelFormat := pf24bit;
  Bmp.Width := Rect_Src.Right - Rect_Src.Left;
  Bmp.Height := Rect_Src.Bottom - Rect_Src.Top;
  Bmp.Canvas.Brush.Color := CorTransparente;
  Bmp.Canvas.FillRect(classes.Rect(0, 0, Bmp.Width, Bmp.Height));
  Bmp.Canvas.CopyRect(classes.Rect(0, 0, Bmp.Width, Bmp.Height), Cnv_Src, Rect_Src);
  Bmp.TransparentColor := CorTransparente;
  Bmp.Transparent := True;
  Cnv_Dest.Draw(Dest_Left, Dest_Top, Bmp);
  Bmp.Free;
end;

A voir également

Ajouter un commentaire

Commentaires

c1thia
Messages postés
1
Date d'inscription
mardi 14 septembre 2010
Statut
Membre
Dernière intervention
21 février 2013

comment ajouter un événement à un TBitmap créé dynamiquement
cs_MAURICIO
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
Merci DelphiNait :)
Le truc etant de passer par un TBITMAP, il est facile de faire la même fonction basée sur un TBitmap:
procedure CANVAS_DRAWBMP(BmpSrc: TBitmap; Cnv_Dest: TCanvas; CouleurTransparente: TColor; Rect_Src: TRect; Dest_Top, Dest_Left: Integer);
A+
[ZeLdA::Mauricio]
delphinait
Messages postés
78
Date d'inscription
lundi 23 août 2004
Statut
Membre
Dernière intervention
19 novembre 2008

tres interessant comme fonction merciiiiiiii !!


bonne prog

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.