IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Delphi et la gestion des images.


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 27
    Points : 22
    Points
    22
    Par défaut Delphi et la gestion des images.
    Bonjour à tous et à toutes,

    En fin de compte j'ai deux questions que je regroupe en un seul post car
    elles concernent le même sujet.

    Première question:

    Je suis dans un environnement Delphi sous Windows Vista. J'ai une petite
    application à terminer dans laquelle il me faut faire apparaitre
    de temps à autre dans un contrôle Image, des illustrations au format JPG.
    Bien entendu toutes ces images ont la même dimension et pèsent le même poids...
    Pour remplacer - disons - l'image1 - présentetement affichée - deux solutions
    se présentent :

    1 -) Charger la seconde image de la ressource en mémoire dans le contrôle Picture, puis détruire par un free la 1ere image devenue invisible, donc inutile dans le contrôle,

    2 -) D'abord libérer le contrôle Picture, puis y charger la nouvelle image.

    Bon c'est certain que l'une ou l'autre méthode donne le même résultat, cependant je pense que la première est pénalisante - pour l'occupation mémoire - dans la mesure où pendant un court instant, les deux images sont présentes en mémoire.

    Et connaissant l'efficacité avec laquelle Windows gère sa mémoire, je ne suis pas certain que l'espace libéré après coup, soit de nouveau disponible pour l'OS ou l'application.

    Si quelqu'un parmi vous peut m'éclairer là dessus, ce serait sympa.

    Deuxième question:

    Est-il possible de charger sous Delphi des images au format GIF, PNG - même en passant par un fichier ressource avec la directive RCDATA par exemple - ?

    Vous remerciant, bonne continuation.

  2. #2
    Membre averti Avatar de shell13010
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2008
    Messages : 281
    Points : 314
    Points
    314
    Par défaut
    salut si tu veux faire un diaporama tu peux te servir d'un timer..mais je suis pas sure que tu veuilles sa

    sinon pour PNG tu as un composant qui s'apel si je me trompe pas PNGimage

  3. #3
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    Ou alors tu peux externalisé tes images. Disons les fournir avec ton
    exécutable mais a part, ce qui allégerait ton exe et ne les chargerai qu'au
    besoin.

    Cela dépend évidemment du nombre d'images et de leurs poids. Mais si il y en
    a vraiment beaucoup, j'opterai pour cette solution.

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    1)
    il me faut faire apparaitre de temps à autre dans un contrôle Image, des illustrations au format JPG. Bien entendu toutes ces images ont la même dimension et pèsent le même poids...
    Tu peux aussi regrouper tes fichiers JPG, en un seul fichier portant l'extension de ton choix. (Regroupement via un TFileStream).
    En suite pour faire apparaître l'image numéro K il suffit, via un TFileStream d'ouvrir ce fichier et de n'en charger que la partie située entre la position P(k) = début-de-l'image-numéroK et P(k+1) - 1 correspondant à cette image vu que toutes les images pèsent le même poids ... et avec TFileStream c'est speed. (c'est faisable également avec des images qui ne pèsent pas le même poids sous réserve, lors du regroupement, de mémoriser les positions P(k) dans une table de correspondance sauvée dans un fichier distinct portant le même nom que le fichier de regroupement mais bien entendu avec une extension distincte)

    Cela allège ton exe et comme on ne charge que Image1 + Image2 le TFileStream se positionne directement à la bonne place sur le disque pour ne charger que l'extrait, en conséquence de quoi le nombre d'images et leur poids peuvent être assez conséquents.

    2)
    Est-il possible de charger sous Delphi des images au format GIF, PNG
    ... Oui, on peut charger, par exemple comme ci-dessus, mais une fois chargé le traitement qui suit n'est pas le même qu'avec les JPG, pour le GIF mettre GifImage dans le uses ensuite c'est aussi facile qu'avec le JPG, par contre je n'ai encore jamais utilisé le PNG mais je sais que c'est faisable.

    A +

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Bonjour à tous et toutes,

    Un grand merci à ceux qui m'ont répondu

    Comme toujours, il existe plusieurs solutions à ce type de questions. Je vais donc les essayer une par une et opter pour celle qui allégera au mieux l'exécutable final.

    Encore merci et à la revoyure. Pour moi ce sujet est clos.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/01/2006, 10h18
  2. Classe de gestion des images
    Par tlemcenvisit dans le forum MFC
    Réponses: 2
    Dernier message: 03/05/2005, 19h07
  3. Class de gestion des images avec rotation
    Par Johnny Boy dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2005, 11h54
  4. [TP]Gestion des images bmp avec BMP.TPU
    Par Gabi dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 14/05/2004, 23h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo