Russian Qt Forum

Qt => Общие вопросы => Тема начата: Apktyc от Октябрь 08, 2017, 02:12



Название: Размер форматированного текста
Отправлено: Apktyc от Октябрь 08, 2017, 02:12
Здравствуйте.

Сейчас для вывода форматированного текста пользуюсь QTextDocument::drawContents, все работает нормально, пока не доходит до курсива или рукописного шрифта. В таких случаях, первый и/или последний символ в строке может оказаться "обрезан" (частино нарисован за границей изображения).
Все что удается вытащить из QFontMetrics: всякие leftBearing / rightBearing / boundRect и т.д. и соответствующие настройки полей для документа частично решает проблему, т.е. все символы лежат внутри изображения, но поля получаются слишком большие, а их хотелось бы минимизировать.

Есть ли возможность получить размер форматированного текста (читай описывающий прямоугольник), с учетом шрифта, выключки и т.д.?
P.S. У меня есть идея только отсекать столбцы в итоговом изображении, в которых только прозрачные (цвета фона) пиксели.


Название: Re: Размер форматированного текста
Отправлено: demal от Октябрь 08, 2017, 16:49
а ты что используешь для отображения текста? сцену или qtextview?


Название: Re: Размер форматированного текста
Отправлено: Apktyc от Октябрь 08, 2017, 17:30
а ты что используешь для отображения текста? сцену или qtextview?
Грубо говоря, отрисовка идет в QImage.