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

Delphi Discussion :

Ouvrir un fichier image


Sujet :

Delphi

  1. #1
    Membre habitué Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Points : 191
    Points
    191
    Par défaut Ouvrir un fichier image
    bonjour je souhaite insérer une image dans ma form..

    Seulement j'aimerais gagner du temps et je sollicite votre aide pour avoir une petite base: quelles fonctions utiliser?

    pour l'instant j'ai essayé ( c'est un .ico):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       image1.Picture.Icon.LoadFromFile(OpenPicture.14819);
    Mais ça ne marche pas ("OpenPicture non déclaré"... Surement un uses que je n'ai pas déclaré...

    de l'aide svp

    merci

    ludo

  2. #2
    Membre régulier
    Inscrit en
    Mai 2003
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 146
    Points : 116
    Points
    116
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Image1.Picture.LoadFromFile(MonChemin\MonFichier);
    MonChemin\MonFichier : Simplement indiquer le path complet du fichier désiré.

  3. #3
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Oui mais attention : Il ne prends pas trous les formats.
    BMP/ICO oui c'ets sur.
    Pour les JPG, il faut simplement rajouter l'unitee Jpeg dans la liste des uses.
    Pour les GIF je ne sais aps si c'est de base, sinon c'ets comme pour les targa, les png, etc ... il suffit de rechercher sur le net une librairie qui les manipulement. Elles sont souvent fournies (en plus du'une classe speciale qui les manipulent) avec des methodes pour les utiliser directement avec les TImage et ce de maniere automatique et transparente rien qu'en incluant l'unitee, comme pour jpeg.
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Salut
    voila la procedure correcte:
    image1.picture.loadfromfile(openpicturedialog1.filename)
    picture c'est la propriété qui charge une image pour le composant image1.

    loadfromfile---> c'est telecharger l'image a partir de(MonChemin\MonFichier).

    Openpicturedialog--- c'est le composant qui se trouve dans l'onglet dialog du delphi et il permet d'afficher la boite de dialog "ouvrir"

    Filename----> c'est le nom de fichier.

    Bonne Chance

  5. #5
    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 263
    Points
    3 263
    Par défaut
    Dans l'Inspecteur d'objets relatif à une image présente sur ta forme tu peux trouver tous les formats-image compatibles :

    Sous Delphi5 je trouve, via Image ... Picture et click sur l'ellipse de trois points ... une première DialogBox où je clicke sur Charger qui ouvre une deuxième Box avec une ComboBox où apparaissent tous les formats compatbles : Tout = *.jpg,*.jpeg,*.bmp,*.ico,*.emf,*.wmf.

    Peut-être que sous Delphi5+N il y en a davantage.

    ... en plus par cette même voie tu peux pré-charger des images dès la conception par exemple pour habiller ta form par exemple, où les intégrer à ton *.exe sans avoir à en fournir le fichier-image avec l'exe ou d'avoir à créer un fichier *.res
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  6. #6
    Membre actif Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Points : 267
    Points
    267
    Par défaut
    Moi je suis sous D7 et il n'y a pas d'avantage de format disponible pour le TImage. En revanche, avec l'adjonction des composant TGIFIMAGE et TPNGIMAGE, le TImage standard de delphi se retrouve avec ces 2 formats en plus...

    Il est également possible d'utiliser un composant image issu d'une librairie tierce, du genre ImageEx, Graphics32... encore que je ne suis pas sûr que ces formats soit dispo sans les composants cités au début du post...

    Voilà à plus

  7. #7
    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 263
    Points
    3 263
    Par défaut
    A PetitPrince :
    Au fait j'en profite pour me renseigner à mon tour : Quels sont les principaux avantages/inconvénients, dans l'univers Delphi, du format *.gif et du *.png (?) vu que tu cites les composants TGIFIMAGE et TPNGIMAGE.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  8. #8
    Membre actif Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Points : 267
    Points
    267
    Par défaut
    Principaux avantages et inconvénients ...... Hum....
    Disons que, à chaque utilisation, son format.... Ces formats sont principalement destinés au Web, car ils ne font que quelques octets, comparé au bmp, pour une même image. De plus, le PNG supporte une couche alpha, et est de bien meilleur qualité que le GIF, si bien qu'il le supplente sur les sites Web... Mais ce PNG n'est pas reconnu par tout les navigateur Web, et ça c'est un inconvénient... Au niveau delphi, ces formats réduisent au final la taille d'un exécutable ( si les images sont utilisé comme éléments de design d l'application), et le PNG peut même te servir à skinner ton application (voir le post de Sub0 sur sa technique de skin avec un PNG et sa couche alpha). C'est hélas tout ce que je peut en dire, étant donné que je n'utilise aucun de ces formats...
    En résumé, GIF et PNG = peut de place sur un disque
    PNG = bonne qualité, transparence grâce à la couche alpha, et le transparent non seulement c'est beau, mais c'est très à la mode avec vista...
    GIF = veillot !! mais reste le standard du format d'animation classique (j'insiste sur "classique", car quand on voit des animations Flashs, on se dit pauvre GIF........).

    Si quelqu'un de plus qualifié passe par ici, qu'il n'hésite pas à me corriger !!

  9. #9
    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 263
    Points
    3 263
    Par défaut
    Merci PetitPrince c'est bon à savoir.
    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  10. #10
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par petitprince
    GIF = veillot !! mais reste le standard du format d'animation classique (j'insiste sur "classique", car quand on voit des animations Flashs, on se dit pauvre GIF........).
    Disons que je me sert encore beaucoup du GIF car contrairement au JPG, il se base sur une palette de couleurs il me semble et non sur le calcul de certains pixels manquant.

    Ce qui fait que quand on cree une image genre clipart avec des zones de couleurs unie, elle restent unie (et peuvent etre change avec le traditionnel pot de peinture) alors que le JPEG lui genere toute une serie de pixels de couleurs differents qui font une sorte de "bruit" invisible sur l'image. Invisible a l'ecran ... mais si on rampalce une couleur par une autre avec le pot de peinture, il y a beacoup de pixels (notement sur les bords) parasites qui ne sont pas pris en compte. Une sorte d'antialiasing.

    La taille etant proche, et la manipulation bien plus simple, je prefere de loin les GIF
    LEs Png ne sont pas plus petit (cause de couche alpha) donc pour moi necessaire quand on a besoin de couche alpha.

    Sinon le bon vieux BMP, ya rien de mieux pour garder une image fidele a l'original et conserver un format reconut partout et manipulable aisiment par le code delphi.
    Sa taille est une limite, qui fait que je m'en passe des que le critere taille joue un role tres important. Mais avec les puissances acuelles, il reviens de plus en plus a la mode

    C'ets un peux comme les DVD .... plus on elargie la capacite des supports, moins on compresse .... et on va finir par repasser en natif non compressé

    Note pour le flash : Oui c'ets nettement supperieur au GIF ... mais on est quand meme sensé posseder une version legale de Flash .... qui n'est pas donnée. Quand a sa creation elle est moins aisée et oblige a passer par un "player" pour afficher une pov' anim.
    Le gif lui au moins est standard, il existe des generateur gratuit, et de par sa taille et son autonomie, est une petite merveille pour les anims simples et efficaces

    Encore une fois ... tout depends des besoins Chaque format a ses qualité et son domaine d'applciation. LE tout est de bien les connaitres et de savoir employer le format juste
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  11. #11
    Membre actif Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Points : 267
    Points
    267
    Par défaut
    -Pour le Jpeg et le gif:
    C'est tout à fais exact au niveau du bruit !!! le Jpeg est bien connu pour sa médiocre qualité en terme de compression(c'est un format destructeur), mais son atout est son faible poids..

    -Pour le Flash:
    Encore exact !!! je ne me suis jamais servi de se format, je l'ai cité car je le trouve tellement magnifique .... Il est préférable, comme tu l'explique, d'utiliser une bonne et efficace animation GIF (que j'utilise de temps en temps avec les composants JVCL, pour faire une tite déco...)

    -Pour le BMP:
    Tout juste et te soutient même!!!!!
    C'est hélas tout ce que je peut en dire, étant donné que je n'utilise aucun de ces formats...
    Je suis et je resterai au format bmp, qui est, selon moi, le format le moins destructeur, et donc le plus fidel en terme de qualité

    Merci Clorish, pour ce complément

  12. #12
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par petitprince
    Je suis et je resterai au format bmp, qui est, selon moi, le format le moins destructeur, et donc le plus fidel en terme de qualité
    Normal c'est du brut
    1px = 1px codé ..... sur 3 ou 4 octets selon qu'on tiens compte de la transparence ou non.

    D'ailleur il existe des BMP etendu sur 32 bits qui permet de gerer aussi la transparence mais c'est rare ....
    En fait c'est pas de la vraie transparence ... c'est un 4e octet qui permet de stcoket une info qui je crosi ne sera pas traitée a l'affichage.
    Mais on peux s'en serveir pour stacker l'info alpha qui sera extraite lors d'une analyse personalisé de l'image.

    Ou encore pour camoufler des infos (datas) dans une image
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  13. #13
    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 263
    Points
    3 263
    Par défaut
    Merci à tous les deux. En particulier sur votre opinion concernant la fidélité du BMP.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  14. #14
    Membre actif Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Points : 267
    Points
    267
    Par défaut
    D'ailleur il existe des BMP etendu sur 32 bits qui permet de gerer aussi la transparence
    Oui, et c'est d'ailleur le pilier de la librairie Graphics32, que j'utilise beaucoup...

    camoufler des infos (datas) dans une image
    D'ailleur il ya un très bon algo la dessus sur delphi fr...

    Sa taille est une limite, qui fait que je m'en passe des que le critere taille joue un role tres important
    Tu as été confronté à ce problème? Quel format utilise-tu alors? et le bmp, on peut aller jusqu'a combien? 4000x4000?

  15. #15
    Nouveau membre du Club

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Points : 36
    Points
    36
    Par défaut
    Si je puis me permettre une petite précision concernant le Jpeg.
    Le format jpeg n'est pas du tout adapté aux images unies (ou avec de grandes zones unies). Le format Jpeg est fait pour la compression d'images naturelles (un paysage, une personne, ...), bref pour les photos en général. (c'est pareil pour les vidéos Mpeg, qui dérivent de la compression Jpeg)
    Donc pour l'habillage d'un site web ou d'une application c'est un format à éviter.
    Mais c'est un très bon format pour les photos de vacances par exemple , car il permet un bon gain en taille, avec un minimum de détérioration visible de l'image. (Evidemment après on adapte le taux de compression suivant ses besoins)

    Voilà c'est tout

  16. #16
    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 263
    Points
    3 263
    Par défaut
    et le bmp, on peut aller jusqu'a combien? 4000x4000?
    Pour le TBitMap, bmp.width et bmp.height sont du type integer ce n'est donc pas cela qui limite la taille du bmp.(lol)
    Les limites proviennent plutôt du reste : lenteur d'affichage/lecture par exemple ...
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  17. #17
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par Gilbert Geyer
    Pour le TBitMap, bmp.width et bmp.height sont du type integer ce n'est donc pas cela qui limite la taille du bmp.(lol)
    Les limites proviennent plutôt du reste : lenteur d'affichage/lecture par exemple ...
    Je crois avoir ateint la limite ..... Suite a un prog qui genere une serie e miniatures. Je voulais copier les miniatures en "matrices" sur un gros Bitmap pour pouvoir facilement zoomer
    Il a fini par hurler ..; mais je ne sais plus a combien .. dans les 10~20.000 si mes souvenirs sont bon.
    Surement une question d'allocation memoire

    Sinon quand je parle de limite c'est par exemple si j'utilise beacoup d'images dans un prog (genre base de donnée) ca fini par prendre beaucoup de place.
    Une autre application est la gestion d'application de cours (genre powerpoint) qui necessite beacoup d'images.

    La 3D est aussi un domainte ou la taille joue beacoup ... surtout en memoire. Donc a utiliser des textures compresses en memoire pour eviter de depasser la RAM (notre porjet monte a 900Mo de texture decompresse en ram contre 90 en mode compressé), autant les stocker compressé sur le disque ...

    De plus charger 3Mo de bitmap entraine plus d'acces disque que 100ko.
    Autre aspect : les bitmap en momoire comme dit plus haut prennent vite de la place. Et audela de la memoire vive, on bascule sur le swap disque et degrade les perfs (surtout pour la 3D : 160fps->2fps)
    Sachant que la taille libre depends du nombre d'applications en cours ca n'est pas une valeurs sure

    J'en ai d'autres comme ca des cas ou les Bitmap sont prohibé pour cause de perfs liés a la taille du fichier
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  18. #18
    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 263
    Points
    3 263
    Par défaut
    Clorish a écrit :
    Je crois avoir atteint la limite ..... Suite a un prog qui genere une serie de miniatures. Je voulais copier les miniatures en "matrices" sur un gros Bitmap pour pouvoir facilement zoomer Il a fini par hurler ..; mais je ne sais plus a combien .. dans les 10~20.000 si mes souvenirs sont bon.
    "10~20.000" se rapporte à quoi ? :
    - je présume à grosBitmap.width ou à grosBitmap.height ?
    - ou au nombre de miniatures ?
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  19. #19
    Membre habitué Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Points : 191
    Points
    191
    Par défaut débats dérivé du sujet
    =) Je vois que la question a permis d'établir un débat très instructif sur les formats d'images et leurs avantages/ inconvénients... C'est vraiment dommage que je n'ai pas le net chez moi...

    En tout cas merci pour vos indications, j'ai la réponses à la plupart de mes questions sur le sujet pour l'instant...



    a+

    ludo

  20. #20
    Membre habitué Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Points : 191
    Points
    191
    Par défaut
    Un petit soucis avec mon image... Je n'arrive pas à l'afficher par dessus d'autres composants comme un edit par exemple, est-ce normal? ou y a t'il une manip à faire? merci !

    ludo

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Ouvrir un fichier image
    Par JulioB85 dans le forum Langage
    Réponses: 1
    Dernier message: 06/11/2010, 15h02
  2. Ouvrir un fichier image
    Par sebac dans le forum Langage
    Réponses: 3
    Dernier message: 02/04/2010, 14h51
  3. Ouvrir un fichier image
    Par adriennoob dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/09/2009, 10h55
  4. Réponses: 1
    Dernier message: 30/01/2007, 10h52
  5. Ouvrir un fichier image / Webutil
    Par cyrilm dans le forum Forms
    Réponses: 6
    Dernier message: 19/10/2005, 13h50

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