begin process at 2012 02 08 09:43:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > THUMBNAILS - AFFICHER DES IMAGES SOUS LA FORME DE VIGNETTES

THUMBNAILS - AFFICHER DES IMAGES SOUS LA FORME DE VIGNETTES


 Information sur la source

Note :
7 / 10 - par 5 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Niveau :Initié Date de création :26/08/2004 Vu / téléchargé :6 402 / 1 048

Auteur : RUELEPIC

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

  • 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;
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à...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source avec une capture COMPARATIF ALGO CERCLES par barbichette
Source avec Zip Source avec une capture RAYTRACING EN DELPHI (PROGRESSIVE PATH TRACING) par Bacterius
Source avec Zip Source avec une capture TEXTE SUR COURBE DE BEZIER par pseudo3
Source avec Zip Source avec une capture YEUXROUGES par pseudo3
Source avec Zip Source avec une capture FIREMONKEY : PATHDATA ET FORMAT SVG par Christophe67

Commentaires et avis

Commentaire de divadav le 01/06/2005 20:56:40

Le composant est plutôt sympa, dommage que ce ne soit pas commenté...

Commentaire de strobinateur le 24/06/2009 21:44:08

très sympa merci pour ce partage! Un bug existe quand on click sur une image après avoir DoDown ou autre bref déplacer les images lors du clic c'est toujours le nom de la 1er image qui s'affiche. J'ai du mal à m'y retrouver dans le code pour corriger sa.

Autre chose lors d'un dodow ou up on descend ou monte d'une ligne je cherche à le faire par page dur dur.

Commentaire de strobinateur le 26/06/2009 16:25:36

j'ai solutionné mon problème en affichant qu'une ligne d'image pas plus, et sa pour corriger l'index:

Procedure TfmSkinSelect.ThumbsClick(Sender: TObject);
Begin
  Thumbs.ItemClick := Thumbs.ItemClick + (Thumbs.current * Thumbs.Maximum);
//....
End;

c'est du bricolage mais sa me suffit pour mon usage, encore merci.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales