ASP.net не может получить правильный размер шрифта - PullRequest
0 голосов
/ 17 марта 2011

Я рисую метки в файл изображения.Все работает отлично, кроме размера шрифта.

gfx.DrawString(
    thisTempLabel.LabelText,
    new System.Drawing.Font(
        thisTempLabel.LabelFont,
        (float)thisTempLabel.fontSize
    ),
    Brushes.Black,
    new PointF(thisTempLabel.x, thisTempLabel.y)
);

Проблема в том, что мои пользователи выбирают размеры шрифта в PX, а System.Drawing.Font требует EM-размер.Я не знаю, как решить эту проблему!

Можно ли визуализировать текст с использованием пикселей?

Ответы [ 2 ]

5 голосов
/ 18 марта 2011

Наконец-то понял, есть ли у кого-то такая же проблема:

System.Drawing.Font MyFont = new System.Drawing.Font(
    thisTempLabel.LabelFont,
    ((float)thisTempLabel.fontSize),
    FontStyle.Regular,
    GraphicsUnit.Pixel
);

GraphicsUnit.Pixel делает это!

3 голосов
/ 17 марта 2011

Просто используйте 1 em = 16 пикселей. Итак:

14px: 1 / 16 * 14 = 
13px: 1 / 16 * 13 = 
100px: 1 / 16 * 100 = 
...