diff --git a/NameCreater/BirthdayCreater.cpp b/NameCreater/BirthdayCreater.cpp new file mode 100644 index 0000000..31220d1 --- /dev/null +++ b/NameCreater/BirthdayCreater.cpp @@ -0,0 +1,153 @@ +#include "BirthdayCreater.h" +#include +#include +#include +#include + +#define BG_WIDTH 3508 +#define BG_HEIGHT 2481 + +#define LABEL_HIGHT_LIMIT 350.0 +#define LABEL_POS_X_OFFSET 323.0 +#define NAME_TWO_WORD_OFFSET 170.0 +#define NAME_THREE_WORD_OFFSET 145.0 +#define MAX_LABEL_IN_PAPER 10 +#define FONT_PIXEL_SIZE 120 + +static QPoint LABEL_POS_START = QPoint(163, 115); +static QPoint NAME_OFFSET_START = QPoint(82, 712); +static QPoint NAME_OFFSET_REVERSE_START = QPoint(214, 1745); + +BirthdayCreater::BirthdayCreater() :INameCreater() +{ + label_bg_map["b"] = ":/NameCreater/resource/b.jpg"; + label_bg_map["g"] = ":/NameCreater/resource/g.jpg"; + label_bg_map["m"] = ":/NameCreater/resource/m.jpg"; + label_bg_map["p"] = ":/NameCreater/resource/p.jpg"; + label_bg_map["r"] = ":/NameCreater/resource/r.jpg"; + label_bg_map["w"] = ":/NameCreater/resource/w.jpg"; + label_bg_map["y"] = ":/NameCreater/resource/y.jpg"; + label_bg_map["co"] = ":/NameCreater/resource/co.jpg"; + label_bg_map["ol"] = ":/NameCreater/resource/ol.jpg"; + label_bg_map["sn"] = ":/NameCreater/resource/sn.jpg"; + label_bg_map["st"] = ":/NameCreater/resource/st.jpg"; + +} + +BirthdayCreater::~BirthdayCreater() +{ +} + +QList BirthdayCreater::getNameByFileContent(const QByteArray& conetent) +{ + QList nameList; + + QTextCodec* tc = QTextCodec::codecForName("Big5"); + QString codec = tc->toUnicode(conetent.data()); + QTextStream stream(&codec); + + int row = 0; + while (!stream.atEnd()) + { + NameInfo_t info; + QString line = stream.readLine(); + QString name_tc = line; + QStringList csvList = name_tc.split(','); + + + QString name = csvList.at(0); //QString::fromLocal8Bit(csvList.at(0)); + QString bg_type = csvList.at(1);//QString::fromLocal8Bit(csvList.at(1)); + QString type_str = csvList.last();//QString::fromLocal8Bit(csvList.last()); + qDebug() << "row :" << row << " " << name << ", bg_type: " << bg_type; + + if (name.compare("name") == 0) { + //pass first line + continue; + } + + info.name1 = name; + info.name2 = bg_type; + + nameList.append(info); + + row++; + } + return nameList; +} + +void BirthdayCreater::generaImageFromCSV(const QString& filename, const QByteArray& filecontent, const QFont& font, const QColor& font_color) +{ + int export_times = 0; + + QList nameList = getNameByFileContent(filecontent); + if (nameList.isEmpty()) { + QMessageBox msgBox; + msgBox.setText(QString("Name is empty ! ").append(filename)); + msgBox.exec(); + } + + QGraphicsScene scene; + scene.setBackgroundBrush(QBrush(QColor(255, 255, 255))); + QGraphicsView view(&scene); + + + + for (int idx = 0; idx < nameList.length(); idx++) { + + if ((idx % MAX_LABEL_IN_PAPER) == 0) { + + QGraphicsRectItem* bg_item = new QGraphicsRectItem(0, 0, BG_WIDTH, BG_HEIGHT); + bg_item->setBrush(QBrush(QColor(255, 255, 255))); + //QGraphicsPixmapItem* bg_item = QGraphicsPixmapItem(QPixmap(BG_SMAPLE_PATH)); + scene.addItem(bg_item); + + } + NameInfo_t name_info = nameList.at(idx); + int col_index = idx % MAX_LABEL_IN_PAPER; + QString label_rel_path = label_bg_map[name_info.name2]; + QGraphicsPixmapItem* label_item = new QGraphicsPixmapItem(QPixmap(label_rel_path)); + label_item->setPos(int(LABEL_POS_START.x() + LABEL_POS_X_OFFSET * col_index), int(LABEL_POS_START.y())); + label_item->setOpacity(1); + scene.addItem(label_item); + + int chrismas_y_offset = 0; + if (name_info.name2.compare("co") == 0 || name_info.name2.compare("ol") == 0 || + name_info.name2.compare("st") == 0 || name_info.name2.compare("sn") == 0) { + chrismas_y_offset = 30; + } + + for (int i = 0; i < 2; i++) { + int name_word_len = name_info.name1.length(); + qreal two_word_y = (name_word_len == 2) ? NAME_TWO_WORD_OFFSET / 2 : 0; + qreal offset_y = (name_word_len == 2) ? NAME_TWO_WORD_OFFSET : NAME_THREE_WORD_OFFSET; + + for (int w = 0; w < name_word_len; w++) { + QGraphicsTextItem* word_item = new QGraphicsTextItem(name_info.name1.at(w)); + word_item->setFont(font); + word_item->setDefaultTextColor(font_color); + if (i == 0) { + word_item->setPos(label_item->x() + NAME_OFFSET_START.x(), label_item->y() + NAME_OFFSET_START.y() + two_word_y + chrismas_y_offset + offset_y * w); + } + else { + word_item->setTransform(QTransform().fromScale(-1, -1)); + word_item->setPos(label_item->x() + NAME_OFFSET_REVERSE_START.x(), label_item->y() + NAME_OFFSET_REVERSE_START.y() - two_word_y - chrismas_y_offset - offset_y * w); + } + scene.addItem(word_item); + } + + } + + if ((idx % MAX_LABEL_IN_PAPER) == (MAX_LABEL_IN_PAPER - 1) || idx == nameList.count() - 1) { + QString file_name = QString("%1_.jpg").arg(QString::number(export_times + 1)); + saveToImage(file_name, &scene); + export_times++; + + scene.clear(); + } + } + + QMessageBox msgBox; + msgBox.setText(QString().asprintf("Export Finshed. Count:%d", export_times)); + msgBox.exec(); + +} diff --git a/NameCreater/BirthdayCreater.h b/NameCreater/BirthdayCreater.h new file mode 100644 index 0000000..0c375bd --- /dev/null +++ b/NameCreater/BirthdayCreater.h @@ -0,0 +1,18 @@ +#pragma once +#include "INameCreater.h" +#include +class BirthdayCreater : public INameCreater +{ +public: + BirthdayCreater(); + ~BirthdayCreater(); + +protected: + QList getNameByFileContent(const QByteArray& conetent); +public: + virtual void generaImageFromCSV(const QString& filename, const QByteArray& filecontent, const QFont& font, const QColor& font_color); + +private: + QMap label_bg_map; +}; + diff --git a/NameCreater/FiveToSingle.cpp b/NameCreater/FiveToSingle.cpp index d25f090..e449c98 100644 --- a/NameCreater/FiveToSingle.cpp +++ b/NameCreater/FiveToSingle.cpp @@ -56,7 +56,6 @@ FiveToSingle::~FiveToSingle() void FiveToSingle::generaImageFromCSV(const QString& filename, const QByteArray& filecontent, const QFont& font, const QColor& font_color) { int export_times = 0; - //QList nameList = getNameByFile(filename); QList nameList = getNameByFileContent(filecontent); if (nameList.isEmpty()) { @@ -183,8 +182,8 @@ void FiveToSingle::generaImageFromCSV(const QString& filename, const QByteArray& - //QMessageBox msgBox; - //msgBox.setText(QString().asprintf("Export Finshed. Count:%d", export_times)); - //msgBox.exec(); + QMessageBox msgBox; + msgBox.setText(QString().asprintf("Export Finshed. Count:%d", export_times)); + msgBox.exec(); } diff --git a/NameCreater/INameCreater.cpp b/NameCreater/INameCreater.cpp index 009a278..9f5d7ec 100644 --- a/NameCreater/INameCreater.cpp +++ b/NameCreater/INameCreater.cpp @@ -41,7 +41,7 @@ void INameCreater::saveToImage(const QString& filename, QGraphicsScene* scene) QString folder_name = QCoreApplication::applicationDirPath() + "/export_" + QDateTime::currentDateTime().toString("yyyyMMdd"); #endif - image.save(folder_name + "/"+filename, "JPEG"); + image.save(filename, "JPEG"); QByteArray imageData; QBuffer buffer(&imageData); diff --git a/NameCreater/NameCreater.cpp b/NameCreater/NameCreater.cpp index ef73957..11da7c0 100644 --- a/NameCreater/NameCreater.cpp +++ b/NameCreater/NameCreater.cpp @@ -12,20 +12,12 @@ #include "FiveToSingle.h" #include "OldFiveCreater.h" +#include "BirthdayCreater.h" -//#define BG_SAMPLE_PATH ":/NameCreater/resource/background_sample.jpg" -#define BG_SAMPLE_PATH ":/NameCreater/resource/background_number_smaple.jpg" -#define BG_PATH_FORMAT ":/NameCreater/resource/background_%1.jpg" #define FONT_NAME "DFYuanStd-W8.otf" #define FONT_PATH ":/NameCreater/_exp/DFYuanStd-W8.otf" #define FONT_SIZE 120 -//#define FONT_SIZE 74 - -#define BG_MIX_TYPE_STR "mix" -#define BG_BOY_TYPE_STR "boy" -#define BG_GIRL_TYPE_STR "girl" - #define VERSION "v1.2.0" @@ -35,6 +27,7 @@ NameCreater::NameCreater(QWidget *parent) ui.setupUi(this); connect(ui.fivesingle_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); connect(ui.fiveold_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); + connect(ui.birthday_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); QString font_path = FONT_PATH; QFile font_res(font_path); @@ -85,6 +78,7 @@ void NameCreater::OnClickedReadBtn() { // Use fileName and fileContent if(sender == ui.fivesingle_btn) FiveToSingle().generaImageFromCSV(fileName, fileContent, this->font, this->font_color); if(sender == ui.fiveold_btn) OldFiveCreater().generaImageFromCSV(fileName, fileContent, this->font, this->font_color); + if (sender == ui.birthday_btn) BirthdayCreater().generaImageFromCSV(fileName, fileContent, this->font, this->font_color); } }; diff --git a/NameCreater/NameCreater.pri b/NameCreater/NameCreater.pri index e7a554a..b506b9e 100644 --- a/NameCreater/NameCreater.pri +++ b/NameCreater/NameCreater.pri @@ -7,15 +7,17 @@ message("You are running qmake on a generated .pro file. This may not work!") -HEADERS += ./FiveToSingle.h \ - ./INameCreater.h \ - ./resource.h \ +HEADERS += ./resource.h \ ./NameCreater.h \ - ./OldFiveCreater.h -SOURCES += ./FiveToSingle.cpp \ - ./INameCreater.cpp \ - ./NameCreater.cpp \ + ./FiveToSingle.h \ + ./INameCreater.h \ + ./OldFiveCreater.h \ + ./BirthdayCreater.h +SOURCES += ./NameCreater.cpp \ ./main.cpp \ - ./OldFiveCreater.cpp + ./OldFiveCreater.cpp \ + ./FiveToSingle.cpp \ + ./INameCreater.cpp \ + ./BirthdayCreater.cpp FORMS += ./NameCreater.ui RESOURCES += NameCreater.qrc diff --git a/NameCreater/NameCreater.pro.user b/NameCreater/NameCreater.pro.user index 0a3177e..a0ed3df 100644 --- a/NameCreater/NameCreater.pro.user +++ b/NameCreater/NameCreater.pro.user @@ -1,265 +1,284 @@ - - - - - - EnvironmentId - {8bb291bd-a051-421c-ae4a-e741fd4db4a3} - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - true - - Cpp - - CppGlobal - - - - QmlJS - - QmlJSGlobal - - - 2 - UTF-8 - false - 4 - false - 80 - true - true - 1 - false - true - false - 0 - true - true - 0 - 8 - true - false - 1 - true - true - true - *.md, *.MD, Makefile - false - true - - - - ProjectExplorer.Project.PluginSettings - - - true - false - true - true - true - true - - - 0 - true - - true - Builtin.BuildSystem - - true - true - Builtin.DefaultTidyAndClazy - 2 - - - - true - - - - - ProjectExplorer.Project.Target.0 - - Desktop - Desktop Qt 5.15.2 clang 64bit - Desktop Qt 5.15.2 clang 64bit - qt.qt5.5152.clang_64_kit - 1 - 0 - 0 - - 0 - /Users/shouchih_chen/Documents/namecreater/build-NameCreater-Desktop_Qt_5_15_2_clang_64bit-Debug - /Users/shouchih_chen/Documents/namecreater/build-NameCreater-Desktop_Qt_5_15_2_clang_64bit-Debug - - - true - QtProjectManager.QMakeBuildStep - false - - - - true - Qt4ProjectManager.MakeStep - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - clean - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - - - /Users/shouchih_chen/Documents/namecreater/build-NameCreater-Desktop_Qt_5_15_2_clang_64bit-Release - /Users/shouchih_chen/Documents/namecreater/build-NameCreater-Desktop_Qt_5_15_2_clang_64bit-Release - - - true - QtProjectManager.QMakeBuildStep - false - - - - true - Qt4ProjectManager.MakeStep - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - clean - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - - - 0 - /Users/shouchih_chen/Documents/namecreater/build-NameCreater-Desktop_Qt_5_15_2_clang_64bit-Profile - /Users/shouchih_chen/Documents/namecreater/build-NameCreater-Desktop_Qt_5_15_2_clang_64bit-Profile - - - true - QtProjectManager.QMakeBuildStep - false - - - - true - Qt4ProjectManager.MakeStep - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - clean - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - 0 - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - - false - ProjectExplorer.DefaultDeployConfiguration - - 1 - - true - true - true - - 2 - - Qt4ProjectManager.Qt4RunConfiguration:/Users/shouchih_chen/Documents/namecreater/NameCreater/NameCreater.pro - /Users/shouchih_chen/Documents/namecreater/NameCreater/NameCreater.pro - false - true - true - false - true - /Users/shouchih_chen/Documents/namecreater/build-NameCreater-Desktop_Qt_5_15_2_clang_64bit-Release/NameCreater.app/Contents/MacOS - - 1 - - - - ProjectExplorer.Project.TargetCount - 1 - - - ProjectExplorer.Project.Updater.FileVersion - 22 - - - Version - 22 - - + + + + + + EnvironmentId + {f917f426-b975-46c9-8edb-fd77a95b6be2} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + false + true + false + 0 + true + true + 0 + 8 + true + false + 1 + true + true + true + *.md, *.MD, Makefile + false + true + + + + ProjectExplorer.Project.PluginSettings + + + true + false + true + true + true + true + + + 0 + true + + -fno-delayed-template-parsing + + true + Builtin.BuildSystem + + true + true + Builtin.DefaultTidyAndClazy + 4 + + + + true + + + + + ProjectExplorer.Project.Target.0 + + Desktop + Desktop Qt 5.15.2 MSVC2019 64bit + Desktop Qt 5.15.2 MSVC2019 64bit + qt.qt5.5152.win64_msvc2019_64_kit + 0 + 0 + 0 + + 0 + D:\_0E\_Private\_Software\namecreater\build-NameCreater-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug + D:/_0E/_Private/_Software/namecreater/build-NameCreater-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + D:\_0E\_Private\_Software\namecreater\build-NameCreater-Desktop_Qt_5_15_2_MSVC2019_64bit-Release + D:/_0E/_Private/_Software/namecreater/build-NameCreater-Desktop_Qt_5_15_2_MSVC2019_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + + + 0 + D:\_0E\_Private\_Software\namecreater\build-NameCreater-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile + D:/_0E/_Private/_Software/namecreater/build-NameCreater-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + true + true + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:D:/_0E/_Private/_Software/namecreater/NameCreater/NameCreater.pro + D:/_0E/_Private/_Software/namecreater/NameCreater/NameCreater.pro + false + true + true + false + true + D:/_0E/_Private/_Software/namecreater/build-NameCreater-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/NameCreater/NameCreater.pro.user.8bb291b b/NameCreater/NameCreater.pro.user.8bb291b new file mode 100644 index 0000000..0a3177e --- /dev/null +++ b/NameCreater/NameCreater.pro.user.8bb291b @@ -0,0 +1,265 @@ + + + + + + EnvironmentId + {8bb291bd-a051-421c-ae4a-e741fd4db4a3} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + false + true + false + 0 + true + true + 0 + 8 + true + false + 1 + true + true + true + *.md, *.MD, Makefile + false + true + + + + ProjectExplorer.Project.PluginSettings + + + true + false + true + true + true + true + + + 0 + true + + true + Builtin.BuildSystem + + true + true + Builtin.DefaultTidyAndClazy + 2 + + + + true + + + + + ProjectExplorer.Project.Target.0 + + Desktop + Desktop Qt 5.15.2 clang 64bit + Desktop Qt 5.15.2 clang 64bit + qt.qt5.5152.clang_64_kit + 1 + 0 + 0 + + 0 + /Users/shouchih_chen/Documents/namecreater/build-NameCreater-Desktop_Qt_5_15_2_clang_64bit-Debug + /Users/shouchih_chen/Documents/namecreater/build-NameCreater-Desktop_Qt_5_15_2_clang_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + /Users/shouchih_chen/Documents/namecreater/build-NameCreater-Desktop_Qt_5_15_2_clang_64bit-Release + /Users/shouchih_chen/Documents/namecreater/build-NameCreater-Desktop_Qt_5_15_2_clang_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + + + 0 + /Users/shouchih_chen/Documents/namecreater/build-NameCreater-Desktop_Qt_5_15_2_clang_64bit-Profile + /Users/shouchih_chen/Documents/namecreater/build-NameCreater-Desktop_Qt_5_15_2_clang_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + true + true + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:/Users/shouchih_chen/Documents/namecreater/NameCreater/NameCreater.pro + /Users/shouchih_chen/Documents/namecreater/NameCreater/NameCreater.pro + false + true + true + false + true + /Users/shouchih_chen/Documents/namecreater/build-NameCreater-Desktop_Qt_5_15_2_clang_64bit-Release/NameCreater.app/Contents/MacOS + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/NameCreater/NameCreater.qrc b/NameCreater/NameCreater.qrc index 655e0fa..d6e805a 100644 --- a/NameCreater/NameCreater.qrc +++ b/NameCreater/NameCreater.qrc @@ -31,5 +31,18 @@ resource/background.jpg resource/background_boy.jpg resource/background_girl.jpg + resource/b.jpg + resource/boy_bg.jpg + resource/co.jpg + resource/g.jpg + resource/girl_bg.jpg + resource/m.jpg + resource/ol.jpg + resource/p.jpg + resource/r.jpg + resource/sn.jpg + resource/st.jpg + resource/w.jpg + resource/y.jpg diff --git a/NameCreater/NameCreater.vcxproj b/NameCreater/NameCreater.vcxproj index cb7946a..7ef867f 100644 --- a/NameCreater/NameCreater.vcxproj +++ b/NameCreater/NameCreater.vcxproj @@ -178,6 +178,7 @@ + @@ -188,6 +189,7 @@ + diff --git a/NameCreater/NameCreater.vcxproj.filters b/NameCreater/NameCreater.vcxproj.filters index db7510a..3026dcc 100644 --- a/NameCreater/NameCreater.vcxproj.filters +++ b/NameCreater/NameCreater.vcxproj.filters @@ -52,6 +52,9 @@ Source Files + + Creaters + @@ -66,6 +69,9 @@ Creaters + + Creaters + diff --git a/NameCreater/OldFiveCreater.cpp b/NameCreater/OldFiveCreater.cpp index 629d1cc..b9fa5cd 100644 --- a/NameCreater/OldFiveCreater.cpp +++ b/NameCreater/OldFiveCreater.cpp @@ -107,7 +107,7 @@ void OldFiveCreater::generaImageFromCSV(const QString& filename, const QByteArra int flag = j % 2; QString name = (flag == 0) ? name_info.name1 : name_info.name2; for (int i = 0; i < BOY_POS_COUNT; i++) { - int xscale, yscale; + qreal xscale, yscale; xscale = yscale = (i % 2 == 1) ? -1 : 1; QPointF pos = (flag == 0) ? BOY_POS[i] : GIRL_POS[i]; @@ -121,14 +121,14 @@ void OldFiveCreater::generaImageFromCSV(const QString& filename, const QByteArra QGraphicsTextItem* textItem2 = new QGraphicsTextItem(name.mid(1, 1)); textItem2->setFont(font); textItem2->setDefaultTextColor(font_color); - textItem2->setPos(pos.x(), pos.y() + 148 * xscale); + textItem2->setPos(pos.x(), pos.y() + 148.0 * xscale); textItem2->setTransform(QTransform::fromScale(xscale, yscale)); scene.addItem(textItem2); QGraphicsTextItem* textItem3 = new QGraphicsTextItem(name.mid(2, 1)); textItem3->setFont(font); textItem3->setDefaultTextColor(font_color); - textItem3->setPos(pos.x(), pos.y() + 294 * xscale); + textItem3->setPos(pos.x(), pos.y() + 294.0 * xscale); textItem3->setTransform(QTransform::fromScale(xscale, yscale)); scene.addItem(textItem3); } diff --git a/NameCreater/_exp/birthday.csv b/NameCreater/_exp/birthday.csv new file mode 100644 index 0000000..a6ee8f1 --- /dev/null +++ b/NameCreater/_exp/birthday.csv @@ -0,0 +1,21 @@ +name,bg_type +Á¤_¹ä,r +Á¤_¹ä,r +Á¤_¹ä,r +Á¤_¹ä,r +Á¤_¹ä,r +¸â¨°ºÓ,sn +¸â¨°ºÓ,co +¸â¨°ºÓ,ol +¸â¨°ºÓ,m +¸â¨°ºÓ,y +¸â¨°ºÓ,b +³¯§Ó,g +³¯¦u§Ó,m +³¯¦u§Ó,p +³¯§Ó,r +§d¨Î¹a,co +§d¨Î¹a,ol +§d¹a,sn +§d¹a,st +§d¹a,b \ No newline at end of file diff --git a/NameCreater/resource/b.jpg b/NameCreater/resource/b.jpg new file mode 100644 index 0000000..2ca984a Binary files /dev/null and b/NameCreater/resource/b.jpg differ diff --git a/NameCreater/resource/boy_bg.jpg b/NameCreater/resource/boy_bg.jpg new file mode 100644 index 0000000..d9b47e1 Binary files /dev/null and b/NameCreater/resource/boy_bg.jpg differ diff --git a/NameCreater/resource/co.jpg b/NameCreater/resource/co.jpg new file mode 100644 index 0000000..4c8b787 Binary files /dev/null and b/NameCreater/resource/co.jpg differ diff --git a/NameCreater/resource/g.jpg b/NameCreater/resource/g.jpg new file mode 100644 index 0000000..d5e1bff Binary files /dev/null and b/NameCreater/resource/g.jpg differ diff --git a/NameCreater/resource/girl_bg.jpg b/NameCreater/resource/girl_bg.jpg new file mode 100644 index 0000000..856a1d3 Binary files /dev/null and b/NameCreater/resource/girl_bg.jpg differ diff --git a/NameCreater/resource/m.jpg b/NameCreater/resource/m.jpg new file mode 100644 index 0000000..822230a Binary files /dev/null and b/NameCreater/resource/m.jpg differ diff --git a/NameCreater/resource/ol.jpg b/NameCreater/resource/ol.jpg new file mode 100644 index 0000000..53fe550 Binary files /dev/null and b/NameCreater/resource/ol.jpg differ diff --git a/NameCreater/resource/p.jpg b/NameCreater/resource/p.jpg new file mode 100644 index 0000000..2d9895f Binary files /dev/null and b/NameCreater/resource/p.jpg differ diff --git a/NameCreater/resource/r.jpg b/NameCreater/resource/r.jpg new file mode 100644 index 0000000..12ac494 Binary files /dev/null and b/NameCreater/resource/r.jpg differ diff --git a/NameCreater/resource/sn.jpg b/NameCreater/resource/sn.jpg new file mode 100644 index 0000000..31ca4a1 Binary files /dev/null and b/NameCreater/resource/sn.jpg differ diff --git a/NameCreater/resource/st.jpg b/NameCreater/resource/st.jpg new file mode 100644 index 0000000..fa69cd0 Binary files /dev/null and b/NameCreater/resource/st.jpg differ diff --git a/NameCreater/resource/w.jpg b/NameCreater/resource/w.jpg new file mode 100644 index 0000000..9c01dcd Binary files /dev/null and b/NameCreater/resource/w.jpg differ diff --git a/NameCreater/resource/y.jpg b/NameCreater/resource/y.jpg new file mode 100644 index 0000000..bfe7eb0 Binary files /dev/null and b/NameCreater/resource/y.jpg differ