Bonjour
Je pense que tout est dans le sujet :-)
Comment convertir des pixels et twips ?
D'avance merci
Bonjour
Je pense que tout est dans le sujet :-)
Comment convertir des pixels et twips ?
D'avance merci
Pour convertir des Pixel en Twip, multiplie par 15
http://www.convert-me.com/en/convert....pixel.en.html
"Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément." Nicolas Boileau
"Expliquer empêche de comprendre si cela dispense de chercher"
Quiz Oracle : venez tester vos connaissances !
La FAQ Oracle : 138 réponses à vos questions
Aidez-nous à la compléter
Tu peux faire comme ca sinon pour obtenir la valeur d'un twip par pixel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long Private Const HWND_DESKTOP As Long = 0 Private Const LOGPIXELSX As Long = 88 Private Const LOGPIXELSY As Long = 90 Function TwipsPerPixelX() As Single Dim lngDC As Long lngDC = GetDC(HWND_DESKTOP) TwipsPerPixelX = 1440& / GetDeviceCaps(lngDC, LOGPIXELSX) ReleaseDC HWND_DESKTOP, lngDC End Function Function TwipsPerPixelY() As Single Dim lngDC As Long lngDC = GetDC(HWND_DESKTOP) TwipsPerPixelY = 1440& / GetDeviceCaps(lngDC, LOGPIXELSY) ReleaseDC HWND_DESKTOP, lngDC End Function
Salut
Dans la plupart des cas, i.e. ceux connus par bibi, la multiplication par 15 est suffisante et plus simple. Mais cette méthode de paresseux, j'en suis, n'est pas à toute épreuve.
Donc la méthode laborieuse par les fonction de l'API, proposée par notre ami nico-pyright(c) - dont je trouve le pseudo bien chouette, est sans doute la plus appropriée.
Chez moi, je suis en 72 pixels au pouce. Mais ce n'est pas le cas pour tous les moniteurs et/ou systèmes. D'ailleurs la définition du mot twip est en anglais 'twentieth of pixel' ou quelque chose du genre signifiant un vingtième de pixel, donc, on devrait multiplier par 20...![]()
Je n'ose pas imaginer ce qu'aurais donné le nom de cette mesure avec fiftieth of pixel... fifip ?
Oui, tout à fait, il est certain que côté rigueur, il vaut mieux choisir la solution de nico-pyright(c). Je vais même aller de ce pas implémenter mon code.
"Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément." Nicolas Boileau
"Expliquer empêche de comprendre si cela dispense de chercher"
Quiz Oracle : venez tester vos connaissances !
La FAQ Oracle : 138 réponses à vos questions
Aidez-nous à la compléter
Bah tu peut aussi faire ce cette manière:
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.TwipsPerPixelX
(ce dernier suis plus trop sûr par contre à vérifier)
Code : Sélectionner tout - Visualiser dans une fenêtre à part Form.TwipsPerPixelX
cela fonctionne tout aussi bien !
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
L'interet de la méthode avec les API, c'est que ca peut aussi s'utiliser en VBA.
Par contre, sous VB, il suffit d'utiliser l'objet Screen
Oui c'est vrai c'etait Sceen désoléEnvoyé par nico-pyright(c)
![]()
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Partager