Jak pobrać długość string w pixelach?

0

Witam,
za pomocą metody Graphics.DrawString() rysuję sobie na bitmapie tekst. Chcę pobrać jego szerokość i wysokość w pixelach. Jak można to zrobić?
Próbuję korzystać z MeasureString, ale nie za bardzo rozumiem jej działanie, a konkretniej zwracanych przez nią wartości. Jak te wartości mają się do pikseli?
Kod:

 string nazwa = "TEST";
            SizeF stringSize = new SizeF();
                Bitmap bmp = new Bitmap(256, 128);
                using (Graphics g = Graphics.FromImage(bmp))
                {
                    Font font = new Font("Arial", 10);
                    g.Clear(System.Drawing.Color.White);

                    g.DrawString(nazwa, font, System.Drawing.Brushes.Black, x, y);
                    stringSize = g.MeasureString(nazwa, font);
                }
            
                MessageBox.Show(stringSize.Width.ToString());
0
string nazwa = "i";g.PageUnit = GraphicsUnit.Pixel;

GraphicsUnit zmieniałem na różne jednostki, ale przy żadnej nie otrzymałem tego co chcę.
Literka 'i' na bitmapie przy tym foncie zajmuje dokładnie 1 piksel. a MeasureString wyrzuca mi 7,49...
W podesłanych linkach niestety nie widzę rozwiązania mojego problemu(być może czytam bez zrozumienia :) )

0

Pokaż ten kod.

0
     int x = 0;
     int y = 0;
     string nazwa = "i";
            SizeF stringSize = new SizeF();
       

                Bitmap bmp = new Bitmap(256, 128);
                using (Graphics g = Graphics.FromImage(bmp))
                {
                    Font font = new Font("Arial", 10);
                    g.Clear(System.Drawing.Color.White);
                    g.PageUnit = GraphicsUnit.Pixel;
                    g.DrawString(nazwa, font, System.Drawing.Brushes.Black, x, y);
                    stringSize = g.MeasureString(nazwa, font);
                }
            
                MessageBox.Show(stringSize.Width.ToString());
0

Wykonaj ten przykład z MSDN...

1 użytkowników online, w tym zalogowanych: 0, gości: 1