Преобразование System.Drawing.Font в PdfSharp.Drawing.XFontC#

Место общения программистов C#
Ответить
Anonymous
 Преобразование System.Drawing.Font в PdfSharp.Drawing.XFont

Сообщение Anonymous »

Как правильно создать объект XFont, размер которого соответствует Font.Size?
У меня есть XGraphics, System.Drawing.Font с FontFamily «Tahoma» и размером 6.
Когда я создаю XFont, как в Например, я получаю очень большой текст на обработанной PDF-странице.
Я предполагаю, что модуль Font.Size iz Points, а XFont необходимо создавать с помощью «emSize».

Код: Выделить всё

    void PDFCreateObjectOnLabel(XGraphics graphics, ObjectBase formatObject, string objectText)
{
XStringFormat objFormat = new XStringFormat();
objFormat.Alignment = XStringAlignment.Center;
XFont xFont = new XFont(formatObject.Font.FontFamily.Name, formatObject.Font.Size);
graphics.DrawString(objectText, xFont, someBrush, someRect, objFormat);
}
Когда я пытаюсь создать XFont вот так:

Код: Выделить всё

XFont xFont = new XFont(new Font(formatObject.Font.FontFamily.Name, formatObject.Font.Size, formatObject.Font.Style));
Я получаю исключение «Шрифт должен использовать GraphicsUnit.World».
Когда я пытаюсь передать GraphincUnit.World, я получаю очень большой текст.
Параметр «formatObject» передается из другой сборки и это не мой код. Объект шрифта в «formatObject» содержит тип единицы измерения «Point».

Подробнее здесь: https://stackoverflow.com/questions/633 ... wing-xfont
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»