Определение размера растрового изображения для хранения текстовой строки - PullRequest
5 голосов
/ 30 ноября 2010

Я пытаюсь использовать метод DrawString () для рисования строки в растровом изображении.Для этого мне нужно создать растровое изображение и получить объект Graphics из растрового изображения, а затем вызвать DrawString () для этого объекта Graphics.

Проблема заключается в том, как я знаю заранее, когда я создаюмое исходное растровое изображение, сколько пикселей в ширину и длину, чтобы сделать мое растровое изображение?

Я знаю, что это как-то связано с MeasureString (), но для использования MeasureString () мне нужно получить объект Graphics израстровое изображение.Я не могу получить это, пока я не создам растровое изображение, что я не могу сделать, пока не узнаю размер.Кажется, это парадокс в кругу!

Кто-нибудь, пожалуйста, помогите мне с этим?

Ответы [ 2 ]

7 голосов
/ 30 ноября 2010

Вы можете создать небольшое статическое растровое изображение для измерения на

private static Bitmap measureBmp = new Bitmap(1, 1);

Тогда вы измеряете как обычно

using (var measureGraphics = Graphics.FromImage(measureBmp))
{
    var stringSize = measureGraphics.MeasureString("measureString", this.Font);
}

Размер изображения не влияет на измерение

0 голосов
/ 30 ноября 2010

Мне пришлось сделать это на Java, в котором я создал неприкрепленный графический элемент, чтобы получить доступ к нужной мне структуре. Возможно, вам удастся создать растровое изображение 1x1, чтобы получить доступ к графическому объекту. Тогда пусть это будет собрано.

Мы надеемся, что размеры графического элемента не повлияют на результат MeasureString.

...