Маленькие прописные/множественные шрифты и выделение жирным шрифтом с использованием DrawString в GDI+.

StackOverflow https://stackoverflow.com/questions/625161

Вопрос

Я хочу написать текст, используя малая капитализация в сочетании с разными шрифтами для разных слов.

Чтобы уточнить, мне может понадобиться сообщение «Добро пожаловать на наш новый веб-сайт», которое генерируется в файл PNG для заголовка страницы.

  • Текст будет малая капитализация - все пишется с большой буквы, но буквы «W», «N» и «W» немного крупнее.
  • Шрифт «Нового веб-сайта» будет отличаться от остального текста.

Есть ли способ сделать это, не делая это полностью вручную?

Концептуально я хочу сделать что-то подобное:

 graphics.DrawString("<font size=2>W</font>ELCOME TO OUR <b><font size=2>N</font>" +
                     "EW <font size=2>W</font>EBSITE</b>");

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

Редактировать: Я должен был упомянуть, что это делается в ASP.NET, поэтому он должен быть быстрым и максимально экономичным.Я хочу, чтобы это было автоматизировано, чтобы я мог легко локализовать и не создавать тонны маленьких изображений.

Это было полезно?

Решение

Кажется, вам действительно следует использовать здесь RichTextBox...существует метод извлечения растрового изображения из RichTextBox, которое затем можно визуализировать как растровое изображение в графическом контексте.Конечно, здесь вам нужно будет выполнить вызов Managed C++, и я не знаю, сможете ли вы сделать это в своем проекте.

В противном случае, я думаю, вам придется делать это вручную с помощью DrawString и MeasureString, а это очень сложно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top