Taille d'un controle

Signaler
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonsoir,



J'aurais aimé savoir comment faire pour qu'un controle ait une taille fixe, quelque soit la résolution de l'écran



En fait, j'ai un controle qui affiche une image ou plusieurs (qui n'en
formeront qu'une).Cette image est déstinée a etre imprimée, et
utilisée, mais il faut que la visualisation se fasse en taille
"reelle", quelque soit la résolution d'ecran.

Je sais que dans la fonction DrawImage, Je peux utiliser
GraphicsUnit.Millimeter. Je pensais que ca résoudrait en partie
mon souci (l'image aurait toujours la meme taille), mais y'a une
exception levée si j'utilise ce parametre (NotImplementedException).



Quelqu'un a une idée pour m'aider ?



Merci


Mx

7 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
Apparemment l'utilisation du millimetre comme unité de mesure pour dessiner une image n'est pas implémentée carrément au niveau de l'API GDI+ elle même...

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
46
Ouai, apres quelques recherches j'ai compris ca aussi :/

Ca m'embete beaucoup, il faudrait vraiment que j'ai du "What the client sees is what the client get" :p



J'ai cherché un peu des exemples, des sources. Je fais des essais, et
j'ai l'air comme un con a mesurer avec ma regle ce que je vois a
l'ecran, mais ca donne jamais de bons resultats :(



Par exemple, avec cette source :

http://www.codeproject.com/cs/miscctrl/Ruler_Application.asp

Le centimetre vaut bien un centimetre quand je suis en 1280*1024, mais equivaut a 1.3 cm en 1024 * 768...



Enfin bref, la n'est pas le probleme, ce que je veux, c'est que l'image
que je charge, qu'on voit, et qu'on imprime soit en taille
"reelle". Va certainement falloir que je joue avec les proprietes
Graphics.DpiX et DpiY, etc... Mais je suis perdu

Pour le moment, j'essaie avec une simple ligne, avant de m'attaquer aux images... Mais ca ne fonctionne pas



Si t'as une idée, elle sera la bienvenue



Mais merci deja d'avoir cherché pour moi


Mx
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
Oula
Je ne pense pas qu'on puisse vraiment afficher en taille réelle dans ce sens là : si tu prend ta mesure sur un ecran 19" en 1280, est elle toujours la même sur un ecran 17" en 1280 ? :-)
Ce que tu peux faire c'est donner un aperçu "réaliste", c'est a dire que si ton image prend 1/3 de la largeur de la page à l'impression, elle est affichée sur la page (à l'écran) avec le même rapport.

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
46
Oui tu as certainement raison, je dois pas bien réaliser, en fait.

Je suis en train de migrer une ancienne appli qui etait en fait un
melange d'activeX et de Java, sous IE, un vrai semblant d'uzine a gaz.

Et les personnes pour qui je fais ca me montraient bien que les tailles etaient bien les meme quelque soit la résolution



Bon, bah, je vais faire "au pif", avec la taille des images qu'on me donne, et ils verront.


Merci bien coq



a++
Mx
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
Je peux me tromper mais je n'arrive pas à imaginer une methode pour dessiner à l'ecran une ligne de 1cm qui soit vraiment de 1cm quand on la mesure sur l'ecran à la règle (et ce quel que soit l'ecran)
Si on peut je suis très interressé par la methode ^^

Pour ce qui est de maintenir un controle à la même "taille" suivant la résolution c'est le même principe que pour l'impression : si il doit prendre 1/3 de l'ecran, ça donne 1024/3 px en 1024, 1280/3px en 1280....

Enfin là je commence à me demander si j'ai bien compris la question lol

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
46
A vrai dire coq, je suis tout confusionné ( ^^ ) moi aussi là.

Bon, pour ce qui est de la méthode, vu que j'ai pas acces aux
sources, je pourrais pas te la donner :/ Mais maintenant, je suis même
plus sur de rien, tu vois



Sinon, je pense que tu as bien compris la question, il faudrait que le
controle garde la meme taille "pour l'oeil" quelque soit la résolution.
Et donc, l'image dessinée dedans aussi



J'vais utiliser un exemple de principe ressemblant a ce que je dois faire (pas le droit de donner l'application réelle)



Imaginons que j'ai des modeles de CD de différents taille (CD normaux,
mini CD...) en gif. A ce gif, on doit appliquer une image,
l'imprimer, le découper, puis coller le resultat sur un vrai CD.

Il faudrait en fait que ce qu'on voit a l'écran soit a la taille du
vrai CD (donc de l'image du CD), quelque soit la resolution de
l'ecran. Et que le resultat imprimé soit la meme chose que l"on voit a
l'écran (taille du CD, image, etc...)



Et la partie application d'image, impression, etc, est OK a priori (et
en partie grace a toi meme ) Par contre, la partie de conservation de
taille n'est pas implémentée... Et c'est ce que je cherche a faire



Mx
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
Eh ba voilà une question qu'elle est bonne !!! lol
Ba si jamais l'appli de "base" affiche bien le CD en taille réelle sur différent écran (vérifie hein !! ^^), va falloir faire chauffer les méninges pour trouver la solution lol

Cocoricoooooooo !!!!
coq
MVP Visual C#