Récupérer une icone 32x32 pixels en 16x16 pixels

0/5 (2 avis)

Snippet vu 5 385 fois - Téléchargée 38 fois

Contenu du snippet

Pour récupérer une icone (32x32 pixels) en une iage de 16x16 pixels.
Vous aurez besoin sur votre form de :
Image1 (TImage),
Button1 (TButton).

Source / Exemple :


procedure TForm1.Button1Click(Sender: TObject);
var
 Icon:TIcon;
 redim:TBitmap;
 ImageTemp:TImage;
begin
 Icon:=TIcon.Create;
 Redim:=TBitmap.Create;
 ImageTemp:=TImage.Create(Self);
  try
   Icon.Assign(Application.Icon);
   with ImageTemp do
   begin
    Width:=Icon.Width;
    Height:=Icon.Height;
    Canvas.Draw(0,0,Icon);
   end;
   Redim.Assign(ImageTemp.Picture);
   With Image1 do
   begin
    Transparent:=True;
    Stretch:=True;
    Width:=Icon.Width div 2;
    Height:=Icon.Height div 2;
    Picture.Bitmap.Assign(Redim);
   end;
  finally
   Icon.Free;
   Redim.Free;
   ImageTemp.Destroy;
  end;
end;

Conclusion :


Voila, c'est tout...

A voir également

Ajouter un commentaire Commentaires
Messages postés
12
Date d'inscription
mercredi 21 août 2002
Statut
Membre
Dernière intervention
9 octobre 2008

Merci pour l'info !
J'avais un doute sur l'utilisation de Destroy.

SpatuL
Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
2
Juste deux petites remarques :
- Le composant temporaire ImageTemp est créé et détruit par ta procédure, dans ce cas il ne faut pas lui associer de propeiétaire :
ImageTemp:=TImage.Create(Nil);
Sinon il y a risque que le propriétaire ( Selft / Form1 ) le détruise à nouveau en provoquant des erreurs.
- Pour la libération d'un composant il ne faut pas appeler Destroy mais Free, Destroy est réservé à un usage interne à Delphi :
ImageTemp.Free;

Nono

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.