Thumbnails - afficher des images sous la forme de vignettes

Description

Exemple de dérivation d'un TPanel pour afficher des images en petit format, en gérant un scrolling progressif et donc économiseur de ressources.
Les images ne sont lues que lorsqu'elles sont affichées et redimensionnées au format défini avant de l'être : utile si l'on a des répertoires contenant beaucoup d'images.
Les composants crées sont
- TThumbs : Le panel principal, à glisser sur une fiche.
- TThumb : La vignette elle-même.

Pour exemple, dérivation de l'événement OnClick du TPanel pour déterminer quelle vignette a été cliquée.

Voilà. Les autres proprietés sont là pour gestion minimale de la présentation, à vous de développer !

- Evénement OnProgress : permet d'afficher la progression du preview en cours.

- TitreString : Le titre du label de la vignette.
- TitreAlignement : Aligné en haut ou en bas.
- LargeurThumb, HauteurThumb : La taille des vignettes.
- BordureThumb : Bordure de la vignette.
- EspaceX, EspaceY : L'espace horizontal et vertical entre chaque vignette.

etc...

La liste des propriétés est dans le code ci-dessous, issu du projet d'exemple.

Source / Exemple :


procedure TFThumb.Button1Click(Sender: TObject);
begin
  If OpenDialog1.Execute then
  With Thumbs do
  Begin
    RepertoireCourant:=ExtractFileDir(OpenDialog1.FileName);
    nbfichiers.Caption:=Inttostr(NombreFichiers);  
    IsInited:=false ;
    EspaceX:=SpinEdit3.value ;
    EspaceY:=SpinEdit4.value ;
    HauteurThumb:=SpinEdit1.Value;
    LargeurThumb:=SpinEdit1.Value;
    Color:=colorBox1.Selected;
    CouleurThumbs:=colorBox2.Selected;
    CouleurTitre:=colorBox3.Selected ;
    Font.color:=colorBox4.Selected ;
    TitreVisible:=checkBox2.checked ;
    ImagesTransparentes:=CheckBox4.Checked;
    BordureThumbs:=CheckBox5.Checked;
    BordureTitre:=CheckBox6.Checked ;
    if checkBox1.Checked then Thumbs.TitreAlignement:=albottom
    else Thumbs.TitreAlignement:=altop;
    Affiche ;
  End ;
end;

Conclusion :


Pour utiliser les composants, ajouter les unités UThumbs.pas et UThumb.pas en utilisant le menu "Composants / Ajouter un composant" dans un package existant ou dans un nouveau package.
Le composant TThumbs est alors installé.

Vous pouvez alors ouvrir le projet d'exemple Project1.dpr qui contient une fiche et des options a modifier.

Voilà. C'est un début, à développer, moi je vais m'en servir de base pour développer un viewer de galeries d'images.

Seules les images JPG sont reconnues, encore une fois c'est à titre d'exemple, il suffit d'utiliser autre chose qu'un TJPEGImage avant de convertir les images en un bitmap réduit. (cf la Procedure TThumbs.SetRepertoire(Repertoire: String) dans UThumbs et la Procedure TThumb.RedimensionneImage (Source : TJpegImage ; Dest : TBitmap) dans UThumb.

Voilà...

Codes Sources

A voir également

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.