From ef9353ee927158d59b29c99f26dfbc4c716e71b9 Mon Sep 17 00:00:00 2001 From: shangxiaoyang <shangxiaoyang@kylinos.cn> Date: Mon, 27 May 2024 14:56:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=84=E6=95=B4=E6=8A=A5=E9=94=99=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E5=AD=97=E4=BD=93=E5=A4=A7=E5=B0=8F=E5=92=8C=E5=B8=83?= =?UTF-8?q?=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian/changelog | 9 +++++++++ widgets/toolbars/kpAiDrawingBar.cpp | 9 ++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 98c6142..2cd8723 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +kolourpaint (4:23.08.3-ok3.2) nile; urgency=medium + + * BUG号: 无 + * 需求号 : 无 + * 其他改动说明 : 修复报错显示字体大小问题和生成图片形状比例错误问题; + * 其他改动影响域 : 无 + + -- shangxiaoyang <shangxiaoyang@kylinos.cn> Mon, 27 May 2024 14:52:54 +0800 + kolourpaint (4:23.08.3-ok3.1) nile; urgency=medium * BUG号: diff --git a/widgets/toolbars/kpAiDrawingBar.cpp b/widgets/toolbars/kpAiDrawingBar.cpp index 91cf3be..0af3828 100644 --- a/widgets/toolbars/kpAiDrawingBar.cpp +++ b/widgets/toolbars/kpAiDrawingBar.cpp @@ -828,13 +828,16 @@ QPixmap kpAIDrawingBar::createPixmapWithText(const QString &text) // 设置字体和字体大小,这里假设使用默认字体,根据实际需求可自定义 QFont font = painter.font(); + font.setPointSize(12); // 若需要调整字体大小以适应换行,请在此处设置,例如:font.setPointSize(10); + QRect textRect = pixmap.rect().adjusted(8, 8, -8, -8); // 计算文本在给定宽度下的自动换行字符串 - QString wrappedText = fontMetrics().elidedText(i18n(text.toLocal8Bit().data()), Qt::ElideNone, pixmap.rect().width(), Qt::TextWordWrap); + QString wrappedText = fontMetrics().elidedText(i18n(text.toLocal8Bit().data()), Qt::ElideNone, textRect.width(), Qt::TextWordWrap); + painter.setFont(font); painter.setPen(color); - painter.drawText(pixmap.rect(), Qt::AlignCenter | Qt::TextWordWrap, wrappedText); + painter.drawText(textRect, Qt::AlignCenter | Qt::TextWordWrap, wrappedText); painter.end(); qDebug()<<"Error message:"<<i18n(text.toLocal8Bit().data())<<"size = "<<size; @@ -1027,7 +1030,7 @@ QSize kpAIDrawingBar::getImageLabelSize() { imageColumn = 2; QSize labelSize = QSize(108,108); - qreal ratio = showAIImageSize.width() / 108; + double ratio = static_cast<double>(showAIImageSize.width()) / static_cast<double>(108); int height = showAIImageSize.height() / ratio; if (height != 0)