diff --git a/Groups/MakeGroup/FontToPng/cpp/FontToPng.cpp b/Groups/MakeGroup/FontToPng/cpp/FontToPng.cpp index 226c8a4..d2eb324 100644 --- a/Groups/MakeGroup/FontToPng/cpp/FontToPng.cpp +++ b/Groups/MakeGroup/FontToPng/cpp/FontToPng.cpp @@ -120,7 +120,7 @@ QString Manage::saveIcon(const QString &familieName, const QString &charCodeHexS if ( !charPackage.code ) { return "error"; } - const auto &&image = this->paintChar( familieName, charPackage, QColor( color ), QSizeF( pixelSize, pixelSize ), QSizeF( pixelSize, pixelSize ) ); + const auto &&image = this->paintChar( familieName, charPackage, QColor( color ), QSizeF( pixelSize, pixelSize ), QSizeF( pixelSize, pixelSize ), true ); const auto &&saveSucceed = image.save( filePath, "PNG" ); return ( saveSucceed ) ? ( "OK" ) : ( "error" ); @@ -156,7 +156,7 @@ void Manage::loadFont(const QString fontName) if ( !charPackage.code ) { continue; } this->makeAdaptation( fontPackage.familieName, charPackage ); - charPackage.preview = this->paintChar( fontPackage.familieName, charPackage, "#000000", { 60, 60 }, { 60, 60 } ); + charPackage.preview = this->paintChar( fontPackage.familieName, charPackage, "#000000", { 60, 60 }, { 60, 60 }, false ); fontPackage.charPackages[ charPackage.code ] = charPackage; } @@ -166,7 +166,7 @@ void Manage::loadFont(const QString fontName) mutex_.unlock(); } -QImage Manage::paintChar(const QString &familieName, const CharPackage &charPackage, const QColor &color, const QSizeF &charSize, const QSizeF &backgroundSize) +QImage Manage::paintChar(const QString &familieName, const CharPackage &charPackage, const QColor &color, const QSizeF &charSize, const QSizeF &backgroundSize, const bool &moreProcess) { QPainter patiner; QImage image( backgroundSize.toSize(), QImage::Format_ARGB32 ); @@ -178,6 +178,16 @@ QImage Manage::paintChar(const QString &familieName, const CharPackage &charPack QFont font( familieName ); font.setPixelSize( qMin( charSize.width(), charSize.height() ) * charPackage.charAdaptation.scale ); + QColor backgroundColor = color; + backgroundColor.setAlpha( 1 ); + + if ( moreProcess ) + { + patiner.setBrush( QBrush( backgroundColor ) ); + patiner.setPen( QPen( QColor( "#00000000" ) ) ); + patiner.drawRect( 0, 0, image.width(), image.height() ); + } + patiner.setFont( font ); patiner.setPen( QPen( color ) ); @@ -190,6 +200,20 @@ QImage Manage::paintChar(const QString &familieName, const CharPackage &charPack QString( QChar( charPackage.code ) ) ); + if ( moreProcess ) + { + for ( auto y = 0; y < image.height(); ++y ) + { + for ( auto x = 0; x < image.width(); ++x ) + { + if ( image.pixelColor( x, y ) == backgroundColor ) + { + image.setPixelColor( x, y, QColor( "#00000000" ) ); + } + } + } + } + return image; } @@ -198,7 +222,7 @@ void Manage::makeAdaptation(const QString &familieName, CharPackage &charPackage QSizeF charSize( 400, 400 ); QSizeF backgroundSize( 500, 500 ); - auto referenceImage = this->paintChar( familieName, charPackage, { "#000000" }, charSize, backgroundSize); + auto referenceImage = this->paintChar( familieName, charPackage, { "#000000" }, charSize, backgroundSize, false ); qreal xStart = -1; qreal xEnd = backgroundSize.width(); diff --git a/Groups/MakeGroup/FontToPng/cpp/FontToPng.h b/Groups/MakeGroup/FontToPng/cpp/FontToPng.h index fd5a59e..dc145de 100755 --- a/Groups/MakeGroup/FontToPng/cpp/FontToPng.h +++ b/Groups/MakeGroup/FontToPng/cpp/FontToPng.h @@ -73,7 +73,7 @@ public slots: private: void loadFont(const QString fontName); - QImage paintChar(const QString &familieName, const CharPackage &charPackage, const QColor &color, const QSizeF &charSize, const QSizeF &backgroundSize); + QImage paintChar(const QString &familieName, const CharPackage &charPackage, const QColor &color, const QSizeF &charSize, const QSizeF &backgroundSize, const bool &moreProcess); void makeAdaptation(const QString &familieName, CharPackage &charPackage); diff --git a/Groups/MakeGroup/FontToPng/qml/FontToPng.qml b/Groups/MakeGroup/FontToPng/qml/FontToPng.qml index 5aa801e..8a75bcc 100644 --- a/Groups/MakeGroup/FontToPng/qml/FontToPng.qml +++ b/Groups/MakeGroup/FontToPng/qml/FontToPng.qml @@ -36,7 +36,7 @@ Item { repeat: false onTriggered: { - materialUI.showLoading(); + materialUI.showLoading( "初始化中,请稍等" ); FontToPngManage.begin(); fontToPng.refresh(); diff --git a/Library/JQToolsLibrary/include/JQToolsLibrary.h b/Library/JQToolsLibrary/include/JQToolsLibrary.h index 6022e11..a5c4f8f 100644 --- a/Library/JQToolsLibrary/include/JQToolsLibrary.h +++ b/Library/JQToolsLibrary/include/JQToolsLibrary.h @@ -4,7 +4,7 @@ // Qt lib import #include -#define JQTOOLS_VERSIONSTRING "16.8.22" +#define JQTOOLS_VERSIONSTRING "16.8.30" class AbstractTool: public QObject {