OVH Cloud OVH Cloud

Twips, Pixels and Co

2 réponses
Avatar
Driss HANIB
Bonjour à tous,

quelqu'un pourrait-il m'expliquer quelles sont le srelation entre twips,
Pixels, Cm, mm, Points..
j'ai vaguement lu la page de microsoft expliquant les conversions entre
chaque unité mais j'ai du mal à fixer les 'différences' et surtout quand on
utilise telle ou telle unité.
en fait ma question est la suivante (au final) : dans un printpreview que je
suis toujours en train de construire (..) j'utilise un picture box dont j'ai
mis l'unité à vbCentimeters et je mets également celle de Printer à
vbcentimeters.
de plus je voudrai que la taille de ce picture Box soit ' proportionnel' à
celle de la page choisie (en l'occurence A4) pour pouvoir, ultérieurement
appliquer des zooms avant et arrière.
même si l'unité scalemode est bien la même , avons nous bien le même
dimensionnement ou faut il appliquer un coef sur l'imprimante pour avoir la
même disposition et la même taille des objets mis dans le pictureBox ?

Merci de m'éclairer ou de m'indiquer un site explicatif..

Driss

2 réponses

Avatar
Clive Lumb
Driss HANIB wrote:
Bonjour à tous,

quelqu'un pourrait-il m'expliquer quelles sont le srelation entre
twips, Pixels, Cm, mm, Points..
j'ai vaguement lu la page de microsoft expliquant les conversions
entre chaque unité mais j'ai du mal à fixer les 'différences' et
surtout quand on utilise telle ou telle unité.
en fait ma question est la suivante (au final) : dans un printpreview
que je suis toujours en train de construire (..) j'utilise un picture
box dont j'ai mis l'unité à vbCentimeters et je mets également celle
de Printer à vbcentimeters.
de plus je voudrai que la taille de ce picture Box soit '
proportionnel' à celle de la page choisie (en l'occurence A4) pour
pouvoir, ultérieurement appliquer des zooms avant et arrière.
même si l'unité scalemode est bien la même , avons nous bien le même
dimensionnement ou faut il appliquer un coef sur l'imprimante pour
avoir la même disposition et la même taille des objets mis dans le
pictureBox ?

Merci de m'éclairer ou de m'indiquer un site explicatif..

Driss



Salut Driss,

J'avais trouvé cette explication dans la MSDN de VB6 (l'original livré avec
la version Français) qui m'a semblait être assez clair.
Modification du système de coordonnées d'un objet


Pour définir le système de coordonnées d'un objet donné (feuille ou
contrôle), vous devez utiliser les propriétés relatives à l'échelle de
l'objet ainsi que la méthode Scale. Trois possibilités s'offrent à vous :

a.. L'utilisation de l'échelle par défaut.


b.. La sélection de l'une des échelles standard.


c.. La création d'une échelle personnalisée.
La modification de l'échelle du système de coordonnées peut faciliter le
dimensionnement et le positionnement des graphiques sur une feuille. Par
exemple, une application qui crée des histogrammes dans un contrôle
PictureBox peut modifier le système de coordonnées de façon à diviser le
contrôle en quatre colonnes, chacune représentant un élément de
l'histogramme. Les sections suivantes décrivent la définition d'une échelle
par défaut, d'une échelle standard et d'une échelle personnalisée, de façon
à modifier le système de coordonnées.

Utilisation de l'échelle par défaut
Chaque feuille et chaque contrôle PictureBox possèdent plusieurs propriétés
d'échelle (ScaleLeft, ScaleTop, ScaleWidth, ScaleHeight et ScaleMode) ainsi
qu'une méthode (Scale) servant à définir le système de coordonnées.
L'échelle par défaut place les coordonnées (0, 0) dans l'angle supérieur
gauche de l'objet. Les unités qu'elle utilise sont les twips.

Pour rétablir l'échelle par défaut d'un objet, utilisez la méthode Scale
sans argument.

Sélection d'une échelle standard
Au lieu de définir directement vos unités, vous pouvez choisir une échelle
standard en affectant l'une des valeurs présentées dans le tableau ci-après
à la propriété ScaleMode.

Valeurs de ScaleMode Description
0 Défini par l'utilisateur. Si vous définissez directement une des
propriétés ScaleWidth, ScaleHeight, ScaleTop, ou ScaleLeft, la propriété
ScaleMode prend automatiquement la valeur 0.
1 Twips. Unité d'échelle par défaut. Un centimètre équivaut à 567
twips (et un pouce à 1 440 twips).
2 Points. Un pouce équivaut à 72 points.
3 Pixels. Le pixel est la plus petite unité de résolution sur l'écran
ou l'imprimante. Le nombre de pixels par pouce est fonction de la résolution
du périphérique.
4 Caractères. À l'impression, la hauteur d'un caractère équivaut à 1/6
de pouce et sa largeur à 1/12 de pouce.
5 Pouces.
6 Millimètres.
7 Centimètres.


Tous les modes décrits dans le tableau ci-dessus, à l'exception de 0 et 3,
correspondent aux dimensions obtenues sur papier. Par exemple, un élément
long de deux unités si la propriété ScaleMode a la valeur 7, aura deux
centimètres de long sur le papier.

' Définit l'échelle en pouces pour la feuille en cours.
ScaleMode = 5
' Définit l'échelle en pixels pour picPicture1.
picPicture1.ScaleMode = 3
Lorsque vous affectez une valeur à la propriété ScaleMode, Visual Basic
redéfinit les propriétés ScaleWidth et ScaleHeight en conséquence. La valeur
0 est affectée aux propriétés ScaleTop et ScaleLeft. Si vous définissez
directement une des propriétés ScaleWidth, ScaleHeight, ScaleTop, ou
ScaleLeft, vous affectez automatiquement la valeur 0 à ScaleMode.
Avatar
Driss HANIB
merci Clive Lumb,

j'étudie tout cela

Driss
"Clive Lumb" a écrit dans le message
de news:%
Driss HANIB wrote:
> Bonjour à tous,
>
> quelqu'un pourrait-il m'expliquer quelles sont le srelation entre
> twips, Pixels, Cm, mm, Points..
> j'ai vaguement lu la page de microsoft expliquant les conversions
> entre chaque unité mais j'ai du mal à fixer les 'différences' et
> surtout quand on utilise telle ou telle unité.
> en fait ma question est la suivante (au final) : dans un printpreview
> que je suis toujours en train de construire (..) j'utilise un picture
> box dont j'ai mis l'unité à vbCentimeters et je mets également celle
> de Printer à vbcentimeters.
> de plus je voudrai que la taille de ce picture Box soit '
> proportionnel' à celle de la page choisie (en l'occurence A4) pour
> pouvoir, ultérieurement appliquer des zooms avant et arrière.
> même si l'unité scalemode est bien la même , avons nous bien le même
> dimensionnement ou faut il appliquer un coef sur l'imprimante pour
> avoir la même disposition et la même taille des objets mis dans le
> pictureBox ?
>
> Merci de m'éclairer ou de m'indiquer un site explicatif..
>
> Driss

Salut Driss,

J'avais trouvé cette explication dans la MSDN de VB6 (l'original livré


avec
la version Français) qui m'a semblait être assez clair.
Modification du système de coordonnées d'un objet


Pour définir le système de coordonnées d'un objet donné (feuille ou
contrôle), vous devez utiliser les propriétés relatives à l'échelle de
l'objet ainsi que la méthode Scale. Trois possibilités s'offrent à vous :

a.. L'utilisation de l'échelle par défaut.


b.. La sélection de l'une des échelles standard.


c.. La création d'une échelle personnalisée.
La modification de l'échelle du système de coordonnées peut faciliter le
dimensionnement et le positionnement des graphiques sur une feuille. Par
exemple, une application qui crée des histogrammes dans un contrôle
PictureBox peut modifier le système de coordonnées de façon à diviser le
contrôle en quatre colonnes, chacune représentant un élément de
l'histogramme. Les sections suivantes décrivent la définition d'une


échelle
par défaut, d'une échelle standard et d'une échelle personnalisée, de


façon
à modifier le système de coordonnées.

Utilisation de l'échelle par défaut
Chaque feuille et chaque contrôle PictureBox possèdent plusieurs


propriétés
d'échelle (ScaleLeft, ScaleTop, ScaleWidth, ScaleHeight et ScaleMode)


ainsi
qu'une méthode (Scale) servant à définir le système de coordonnées.
L'échelle par défaut place les coordonnées (0, 0) dans l'angle supérieur
gauche de l'objet. Les unités qu'elle utilise sont les twips.

Pour rétablir l'échelle par défaut d'un objet, utilisez la méthode Scale
sans argument.

Sélection d'une échelle standard
Au lieu de définir directement vos unités, vous pouvez choisir une échelle
standard en affectant l'une des valeurs présentées dans le tableau


ci-après
à la propriété ScaleMode.

Valeurs de ScaleMode Description
0 Défini par l'utilisateur. Si vous définissez directement une des
propriétés ScaleWidth, ScaleHeight, ScaleTop, ou ScaleLeft, la propriété
ScaleMode prend automatiquement la valeur 0.
1 Twips. Unité d'échelle par défaut. Un centimètre équivaut à 567
twips (et un pouce à 1 440 twips).
2 Points. Un pouce équivaut à 72 points.
3 Pixels. Le pixel est la plus petite unité de résolution sur


l'écran
ou l'imprimante. Le nombre de pixels par pouce est fonction de la


résolution
du périphérique.
4 Caractères. À l'impression, la hauteur d'un caractère équivaut à


1/6
de pouce et sa largeur à 1/12 de pouce.
5 Pouces.
6 Millimètres.
7 Centimètres.


Tous les modes décrits dans le tableau ci-dessus, à l'exception de 0 et 3,
correspondent aux dimensions obtenues sur papier. Par exemple, un élément
long de deux unités si la propriété ScaleMode a la valeur 7, aura deux
centimètres de long sur le papier.

' Définit l'échelle en pouces pour la feuille en cours.
ScaleMode = 5
' Définit l'échelle en pixels pour picPicture1.
picPicture1.ScaleMode = 3
Lorsque vous affectez une valeur à la propriété ScaleMode, Visual Basic
redéfinit les propriétés ScaleWidth et ScaleHeight en conséquence. La


valeur
0 est affectée aux propriétés ScaleTop et ScaleLeft. Si vous définissez
directement une des propriétés ScaleWidth, ScaleHeight, ScaleTop, ou
ScaleLeft, vous affectez automatiquement la valeur 0 à ScaleMode.