Bonjour
Je pense que tout est dans le sujet :-)
Comment convertir des pixels et twips ?
D'avance merci
Version imprimable
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
Tu peux faire comme ca sinon pour obtenir la valeur d'un twip par pixel :Code:
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... 8O
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.
Bah tu peut aussi faire ce cette manière:
ouCode:Me.TwipsPerPixelX
(ce dernier suis plus trop sûr par contre à vérifier)Code:Form.TwipsPerPixelX
cela fonctionne tout aussi bien !
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é :oops:Citation:
Envoyé par nico-pyright(c)