Добрый день.
Подскажите пожалуйста, можно ли как-то изменить параметры шрифта у текстового объекта?
Объект создается на пользовательской карте следующим образом:
Интересует вопрос, как например, изменить такие параметры этого созданного текстового объекта как: цвет текста, высоту шрифта, подчеркивание и т.п.?
Как изменить сам текст и выравнивание текста понятно, а вот с остальным - нет.
Заранее спасибо.
Подскажите пожалуйста, можно ли как-то изменить параметры шрифта у текстового объекта?
Объект создается на пользовательской карте следующим образом:
Код |
---|
HOBJ hObj = mapCreateSiteObject(m_baseMapHandler, m_userMapHandler, IDDOUBLE2, 1); res = (mapRegisterDrawObject(hObj, 0, LOCAL_TITLE) != 0); IMGTRUETEXT trueTextParam; const QFont textFont = textParams->font(); memset(&trueTextParam, 0, sizeof(IMGTRUETEXT)); UnicodeToString(textFont.family().utf16(), trueTextParam.FontName, sizeof(trueTextParam.FontName)); IMGTEXT &textParm = trueTextParam.Text; { const QColor textColor = textParams->textColor(); textParm.Color = RGB(textColor.red(), textColor.green(), textColor.blue()); } { const QColor bgColor = textParams->backgroundColor(); if (bgColor == Qt::transparent) textParm.BkgndColor = IMGC_TRANSPARENT; else textParm.BkgndColor = RGB(bgColor.red(), bgColor.green(), bgColor.blue()); } textParm.ShadowColor = IMGC_TRANSPARENT;//RGB(255, 255, 255); textParm.Height = 4000; textParm.Weight = FW_NORMAL; textParm.Outline = 0; textParm.Align = FA_MIDDLE; textParm.Service = 0; textParm.Wide = UNIW_NORMAL; textParm.Horizontal = textParams->isHorizontal() ? 1 : 0; textParm.Italic = textFont.italic() ? 1 : 0; textParm.Underline = textFont.underline() ? 1 : 0; textParm.StrikeOut = textFont.strikeOut() ? 1 : 0; textParm.Type = 0; textParm.CharSet = RUSSIAN_CHARSET; if (textParams->isStretched()) { textParm.Flag = IMGTEXT_SCALE; // mapSetObjectScale(hObj, 1); } char textChar [2048]; UnicodeToString(textParams->text().utf16(), textChar, sizeof(textChar)); // так не работает на сертифицированной версии на астре // mapPutTextUnicode(hObj, PanoramaUtils::ushortToWChar(params->titile().utf16()), 0); mapPutText(hObj, textChar, 0); mapPutTextVerticalAlign(hObj, qtAlignmentToPanoramaVertical(textParams->textAlignment()), -1); mapPutTextHorizontalAlign(hObj, qtAlignmentToPanoramaHorizontal(textParams->textAlignment()), -1); // mapAppendDraw(hObj, IMG_TEXT, reinterpret_cast<const char *>(&textParm)); mapAppendDraw(hObj, IMG_TRUETEXT, reinterpret_cast<const char *>(&trueTextParam)); // ниже идет установка метрики |
Интересует вопрос, как например, изменить такие параметры этого созданного текстового объекта как: цвет текста, высоту шрифта, подчеркивание и т.п.?
Как изменить сам текст и выравнивание текста понятно, а вот с остальным - нет.
Заранее спасибо.