Ciao a tutti,
oggi ho un problema con la grafica.
Ho una picturebox che deve occupare un certo spazio in base alla risoluzione dello schermo poichè devo adattare tutto il form in base alla risoluzione.
Supponiamo di avere una schermo di 1920x1080 e che la mia picturebox deve occupare un decimo della larghezza.
Faccio e miei calcoli e mi trovo che devo fare la picturebox di 192x108 pixel
Ora devo scrivere del testo dentro alla picturebox (solo numeri) e questo testo deve occupare il 20% in altezza della picturebox, per cui mi dovrò trovare il testo alto (circa) 22 pixel.
Come faccio a sapere la grandezza del font che devo utilizzare ??
Ho visto che usando Arial 22 bold viene esattamente un pixel in meno, ma mi sembra strano che l'altezza del font corrisponda esattamente ai pixel utilizzati, per cui pensavo di usare MeasureString
ho provato quindi
gr = PictureBox1.CreateGraphics
gr.PageUnit = GraphicsUnit.Pixel
Dim hh = gr.MeasureString("1234567890", New Font("Arial", 22, FontStyle.Bold)).Height
Ma mi dice hh = 36,4 e non so cosa intenda, eppure l'ho settato in Pixel
C'entra qualcosa il DPI dello schermo o qualcosa del genere ??
Mi ricordo che in VB6 c'era un fattore 15 tra pixel e point, anche qui devo fare qualche calcolo ???
Grazie mille
Sergio
Edit: ho anche provato ad usare TextRenderer.MeasureText ma cambia di poco, mi dice altezza = 35