Copie d'une partie d'un image

Résolu
Rapakooti
Messages postés
92
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
Modérateur
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
Modérateur
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