Copie d'une partie d'un image

Résolu
Rapakooti Messages postés 90 Date d'inscription mercredi 4 décembre 2002 Statut Membre Dernière intervention 18 mai 2018 - 19 nov. 2004 à 00:37
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 - 19 nov. 2004 à 09:28
Alors mon pb viens du fait que j'essaie de faire une applique skinnable et par soucis de facilite lors de la creation des futur skins , toutes les image de mes boutons ,.... , fond , sont sur une meme image que je precharge mais voila mon probleme , je precharge un etat 1 pour mon premier bouton , jusque la tout va bien mais pour l'etat deux ( dont l'image source se trouve en dessous sur la feuille skin), j'obtien bien ce que je voulais copie mais a la meme place que sur la feuille skins , est le reste est constitue de blanc ou de vide si je met la propriete de T image sur transparent . au cas ou je serai pas claire voici la source aidez moi merci

var
Bitmap: TBitmap;
colorie : TColor;

begin
// image de skins
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile(ExtractFilePath(application.ExeName)+'ADobry.bmp');

form1.Ouvrir1.Canvas.Brush.Bitmap:=Bitmap;
form1.Ouvrir2.Canvas.Brush.Bitmap:=Bitmap;

colorie:=Bitmap.Canvas.Pixels[1,1];
form1.Color:=colorie;
//dessin de mes bouton
form1.ouvrir2.Canvas.FillRect(rect(0,21,21,42)); //<--- le pb !!!

form1.ouvrir1.Canvas.FillRect(rect(0,0,21,21));
finally
Form1.Canvas.Brush.Bitmap := nil;
Bitmap.Free;
end;
R A P A K O O T I

1 réponse

JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
19 nov. 2004 à 09:28
hello,
tu utilises FillRect (mot à mot : Remplir Rectangle) donc ce n'est pas une copie, si tu regarde le code source de mon composant TdbpFontImage (voir mes sources), tu verras comment je copie des morceaux de ma BMP.
Voila un ptit copié collé vite fait :
BMPtemp.Canvas.CopyRect(Rect(FpointTL,FpointBR),Fbmp.Canvas,FRect);

sachant ke BMPtemp est un TBitmap, et Fbmp aussi.
c'est Fbmp qui contient le bmp complet, et BMPtemp ki va "copier" un morceau de ce BMP.
bonne lecture et prog

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
3
Rejoignez-nous