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

VB 6 et antérieur Discussion :

[VB6] Afficher une image de bonne qualité dans un form


Sujet :

VB 6 et antérieur

  1. #1
    Membre actif
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Points : 207
    Points
    207
    Par défaut [VB6] Afficher une image de bonne qualité dans un form
    Bonjour, j'ai besoin de faire un truc tout bête : afficher une image en background dans un formulaire VB6.
    Bien, j'ai une image 1024x768 en format JPG.
    J'ai donc naturellement mis l'image dans la propriete "Picture" de mon form, ca marche... mais il y a un probleme, l'image est assez clair (pastel) et le rendu et moche dans mon application. (l'image utilise environ 4000 couleurs)
    il semble que VB utilise une sorte de palette de 256 couleur????
    en fait quand j'essaye de reduire le nombre de couleurs (paintshop pro) en 256 et que je la convertisse en GIF, alors le rendu est un peu mieux dans VB (mais c'est pas encore celà).
    en 256 couleur l'image GIF n'est pas terrible mais VB l'affiche a l'identique.
    en JPG l'image est parfaite, mais le rendu VB est moche.


    Savez-vous s'il est possible de faire afficher des images 16bits (65k couleurs) dans VB6, et comment ? (j'ai essayer avec les propriete "palette" mais bof)

    Merci.

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    VB va tout simplement restituer telles quelles les couleurs de l'mage.
    C'est donc l'image elle-même qui doit être modifiée.
    Il est également possible (Apis) de laisser telle quelle l'image chargée puis d'en modifier dynamiquement l'affichage (contraste et luminosité, voire renforcement de certaines couleurs), dans l'événement Form_activate.
    Tout celà serait toutefois démesuré en comparaison de l'importance de l'enjeu ! Il vauit mieux modifier l'image (les outils ne manquent pas) avant de l'incorporer.

  3. #3
    Membre actif
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Points : 207
    Points
    207
    Par défaut
    Citation Envoyé par jmfmarques
    VB va tout simplement restituer telles quelles les couleurs de l'mage.
    C'est ce que je croyais aussi..
    mais non, l'image fond.jpg et son rendu a travers VB n'est pas identique
    C'est vrai que ca ne se voit pas pour toutes les images, mais ca se voit bien pour les image qui sont assez clair (un peu pastel).

    Citation Envoyé par jmfmarques
    C'est donc l'image elle-même qui doit être modifiée.
    Ben, je ne vois pas ce que je peux faire, j'ai reduit l'image a 256 couleurs (avec un logiciel) mais du coups le fichier n'est plus aussi joli (voir ce que je dis plus haut a propos du GIF).
    Citation Envoyé par jmfmarques
    Il est également possible (Apis) de laisser telle quelle l'image chargée puis d'en modifier dynamiquement l'affichage (contraste et luminosité, voire renforcement de certaines couleurs), dans l'événement Form_activate.
    Tout celà serait toutefois démesuré en comparaison de l'importance de l'enjeu ! Il vauit mieux modifier l'image (les outils ne manquent pas) avant de l'incorporer.
    Oui sans doute, mais je ne veux pas changer le contraste/luminosité.

  4. #4
    Membre actif
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Points : 207
    Points
    207
    Par défaut trouvé
    en fait, le probleme venais de ma config (windows),
    jmfmarques tu as raison quand tu dis que "VB va tout simplement restituer telles quelles les couleurs de l'mage." mais il faut savoir que ceci n'est pas vrai quand la resolution est en 16bit. (j'etait en 16, je suis passé en 32 c'est mieux)

    voici donc les tests : l'image fond.jpg n'utilise que 4000 couleurs differentes.

    quand je suis en 16b (65535 couleurs) le resultat est dégueulasse (même si 65k>4k) et c'est ca le piege ! pourtant quand j'affiche cette image avec n'importe quel logiciel (IE, word, picaview,psp..) l'image est nikel.

    quand je suis en 32b ("couleurs vraies") et bien VB m'affiche correctement les couleurs.

    merci.
    pour info, voici les liens qui m'ont permis de trouver :
    http://www.xtremevbtalk.com/showthre...highlight=jpeg
    http://www.xtremevbtalk.com/showthre...threadid=54932

    ouf, je suis rassuré...
    faut dire j'ai pris peur quand j'ai vu dans le MSDN (2001) a propos de LoadPicture, la propriete colordepth ne va que jusqu'a 256 couleurs !

    mais, bon, tout va bien.

    edit : typo / mise en page...
    merci.

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

Discussions similaires

  1. Afficher une image où l'on veut dans une fenêtre
    Par womannosky dans le forum OpenCV
    Réponses: 9
    Dernier message: 18/10/2012, 15h59
  2. Réponses: 3
    Dernier message: 28/10/2008, 17h04
  3. générer une image de bonne qualité
    Par ratakses dans le forum 2D
    Réponses: 14
    Dernier message: 26/09/2006, 19h32
  4. [VB6] Afficher une image dans outlook
    Par fearless dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 09/06/2006, 17h29
  5. Afficher une image JPG qui se trouve dans une bdd
    Par Harry dans le forum Bases de données
    Réponses: 6
    Dernier message: 27/02/2004, 10h51

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