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.NET Discussion :

Problème d'image tronquée sur win8


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut Problème d'image tronquée sur win8
    Hello,

    Pour générer des barcodes au format EAN13 en .NET, j'utilise la librairie qui se trouve ici. (c'est du c# que j'ai converti en vb).

    Sur win7, pas de souci, c'est nickel.

    Là je teste mon projet sur une surface pro 3 avec win8.1 pro et le bas de l'image fournie par la fonction Paint de la librairie est tronqué.

    Y a un paramètre spécial à régler ?

    Sur ce, en attendant une réponse, je m'en vais fouiller le code source après quelque chose susceptible de produire ce genre de comportement.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    ca doit du au facteur de grossissement, qu'on trouve sur certaines tablettes, et avec certains écran haute résolution
    pour vérifier si ca vient de là tu peux chercher ce paramètre dans windows (dans les paramètres d'affichage)
    si en remettant à 100% c'est bon c'est que ca vient bien de là
    en windows forms ca agrandit certains controles avec un des effets parfois dérangeant, alors que wpf doit gérer ça comme il faut
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Bin justement, la couche graphique est un projet en wpf pour le coup.

    Par contre, la classe chargée de créer l'image du barcode est dans un projet de type class library. Ca peut jouer ?

    (je suis toujours en n-tiers, pas encore passer le cap du mvvm. une chose à la fois)

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    dll pas de soucis

    as tu essayé à 100% dans windows ?
    le code que tu as trouvé semble être du windows forms
    l'image est sauvegardé puis affichée ? si oui fait elle la taille du controle ? le controle a une taille fixe ? l'image aussi ?

    sinon pourquoi ne pas réécrire la conversion code39 en wpf ? (sur wikipedia il y a l'explication du code39, ca se code rapidement, enfin si on sait draw en wpf ^^)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    dll pas de soucis
    C'est déjà ça ^^

    Citation Envoyé par Pol63 Voir le message
    as tu essayé à 100% dans windows ?
    Je n'ai pas trouvé d'endroit où on peut choisir un pourcentage de grossissement comme dans win7 mais j'ai trouvé, je pense, un équivalent où on peut juste faire coulisser une règle entre smaller et larger. Même en mettant au plus petit, ça ne résoud pas le problème.

    Citation Envoyé par Pol63 Voir le message
    le code que tu as trouvé semble être du windows forms
    Ah ? Je pensais que les trucs spécific winform/wpf ne concernait que les parties qui interagisse avec les composants visuels. Ici, ça crée effectivement une image mais une image, c'est pareil des deux côtés non ? (et en écrivant, je me rends compte que probablement que non vu que sous winform, c'est ok d'afficher des bitmaps alors qu'en wpf, il a fallu que que je convertisse en bitmapsource)

    Citation Envoyé par Pol63 Voir le message
    l'image est sauvegardé puis affichée ? si oui fait elle la taille du controle ? le controle a une taille fixe ? l'image aussi ?
    L'image n'est pas sauvegardée. Elle est créée en mémoire et affichée. Je ne fixe qu'une seule des deux dimensions. L'autre est déterminée pour maintenir la proportion. Je fixe à la hauteur justement pour le moment.

    Citation Envoyé par Pol63 Voir le message
    sinon pourquoi ne pas réécrire la conversion code39 en wpf ? (sur wikipedia il y a l'explication du code39, ca se code rapidement, enfin si on sait draw en wpf ^^)
    La page que j'ai lié parle du code39 au début mais c'est juste pour signaler qu'il avait écrit un autre article sur ce sujet. Ici, c'est de l'EAN13 ^^.
    J'ai vaguement essayé de comprendre comment il déterminait la taille des barres à dessiner mais j'ai laissé après 10 minutes. D'autres choses à faire.

    Mais je vais regarder du coup ce qu'il faudrait faire pour réécrire ça en wpf. Si t'as des pistes sous la main, je suis preneur

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    Citation Envoyé par Kropernic Voir le message
    Ah ? Je pensais que les trucs spécific winform/wpf ne concernait que les parties qui interagisse avec les composants visuels. Ici, ça crée effectivement une image mais une image, c'est pareil des deux côtés non ? (et en écrivant, je me rends compte que probablement que non vu que sous winform, c'est ok d'afficher des bitmaps alors qu'en wpf, il a fallu que que je convertisse en bitmapsource)
    windows forms pour les controles se base sur gdi+ (dll qui date de windows 95 ou 98)
    pour l'impression aussi, et pour les images aussi
    en windows forms quand on manipule un system.Drawing.image (ou .bitmap) c'est gdi+ qui est derrière, le framework .net n'est qu'un wrapper à ce niveau (c'est d'ailleurs un objet non managé = externe = disposable)

    en wpf tu peux essayer de taper system.drawing ca n'existe pas
    gdi+ a été abandonné au profit de directX, la partie imagerie a été recodée (vers system.windows.imaging ou un truc dans le genre)
    ca doit être au passage du managé ... à vérifier
    si c'est une image en mémoire, c'est que le l'image doit etre sauvegardée en octets, et à partir de là on peut en effet repartir sur une classe de wpf pour charger l'image à partir des octets

    Citation Envoyé par Kropernic Voir le message
    La page que j'ai lié parle du code39 au début mais c'est juste pour signaler qu'il avait écrit un autre article sur ce sujet. Ici, c'est de l'EAN13 ^^.
    J'ai vaguement essayé de comprendre comment il déterminait la taille des barres à dessiner mais j'ai laissé après 10 minutes. D'autres choses à faire.

    Mais je vais regarder du coup ce qu'il faudrait faire pour réécrire ça en wpf. Si t'as des pistes sous la main, je suis preneur
    de mémoire les ean13 sont "écrits" en code 39
    il y a plusieurs méthodes de gestion de code barre (code39, code128...) avec des utilisations derrière (isbn, ean13, ean128)
    dans tous les cas le but est de transformer un string en barres
    les barres sont soit noires soit blanches, elles font toutes une unité de largeur, quand 2 barres de même couleur sont collées ca donne une impression de grosse barre, et l'unité de largeur est au choix, le lecteur se débrouille pour trouver la largeur d'une barre
    de mémoire code39 il doit y avoir une entete et une fin, et chaque caractère (parmis ceux utilisables, pas tous) est représenté par une série de barres (0=blanc, 1=noir)
    et sur wikipedia (fr ou en) il doit y avoir le détail
    l'entete et la fin sont une série fixe, qui doit permettre au lecteur de reconnaitre que c'est du code39 et de connaitre la taille d'une barre
    code128 par contre est plus compliqué à mettre en oeuvre
    bref la taille des barres et la hauteur c'est toi qui choisit en fonction de la place que tu as de dispo, mais quand c'est trop petit c'est pas lisible ^^
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    ca doit du au facteur de grossissement, qu'on trouve sur certaines tablettes, et avec certains écran haute résolution
    pour vérifier si ca vient de là tu peux chercher ce paramètre dans windows (dans les paramètres d'affichage)
    si en remettant à 100% c'est bon c'est que ca vient bien de là
    en windows forms ca agrandit certains controles avec un des effets parfois dérangeant, alors que wpf doit gérer ça comme il faut
    As tu essayé ça ? Je sais que sur ma tablette Windows 8.1 j'avais même des merdes sur des jeux où le texte était grossi.

  8. #8
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Citation Envoyé par youtpout978 Voir le message
    As tu essayé ça ? Je sais que sur ma tablette Windows 8.1 j'avais même des merdes sur des jeux où le texte était grossi.
    Hello,

    Citation Envoyé par kropernic dans le message #5
    Citation Envoyé par Pol63
    as tu essayé à 100% dans windows ?
    Je n'ai pas trouvé d'endroit où on peut choisir un pourcentage de grossissement comme dans win7 mais j'ai trouvé, je pense, un équivalent où on peut juste faire coulisser une règle entre smaller et larger. Même en mettant au plus petit, ça ne résoud pas le problème.




    J'ai à la question "As tu essayé ça ?", j'ai envie de répondre oui et non .

  9. #9
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Je crois que c'est le même menu su Windows 8.1 :
    http://www.windows8facile.fr/windows...fenetre-texte/

  10. #10
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Oui bin je n'ai jamais trouvé cet écran avec les 3 boutons radio.

    A la place, j'ai trouvé un écran avec une glissière qui va de plus petit à plus grand. Mais même en mettant sur la plus petite valeur possible, le problème persiste.

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

Discussions similaires

  1. Image tronquée sur un <a href>
    Par titan_33 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 29/07/2008, 14h48
  2. Problème affichage image stockée sur disque avec oracle XE
    Par thriller86 dans le forum Débuter
    Réponses: 6
    Dernier message: 13/06/2008, 13h29
  3. Réponses: 2
    Dernier message: 11/09/2007, 11h22
  4. [débutant] problème d'image sur une form
    Par Anthony17 dans le forum Delphi
    Réponses: 3
    Dernier message: 21/11/2006, 14h49
  5. [Avertis]Problème Infobulle/Popup Onmouseover sur une image
    Par Yanos dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 04/05/2006, 14h10

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