diff --git a/NameCreater/NameCreater.qrc b/NameCreater/NameCreater.qrc index 575bd9d..3a59a98 100644 --- a/NameCreater/NameCreater.qrc +++ b/NameCreater/NameCreater.qrc @@ -5,5 +5,16 @@ resource/background_g.jpg resource/background_r.jpg resource/background_y.jpg + resource/two_word_sample.jpg + resource/background_1.jpg + resource/background_2.jpg + resource/background_3.jpg + resource/background_4.jpg + resource/background_5.jpg + resource/background_6.jpg + resource/background_7.jpg + resource/background_8.jpg + resource/background_9.jpg + resource/background_10.jpg diff --git a/NameCreater/_exp/name.csv b/NameCreater/_exp/name.csv index 4db8ff5..dd37321 100644 --- a/NameCreater/_exp/name.csv +++ b/NameCreater/_exp/name.csv @@ -1,28 +1,13 @@ name_1,bg_type -︺诧,r -甃和,g -衱郝,b -え丹,y -︺诧,r -甃和,g -衱郝,b -え丹,y -︺诧,r -甃和,g -︺诧,y -甃和,b -︺诧,b -甃和,b -衱郝,b -え丹,y -︺诧,b -甃和,g -衱郝,g -え丹,r -︺诧,r -甃和,r -︺诧,y -甃和,y -甃和,r -︺诧,g -甃和,b +︺‵,r +甃,g +衱,b +え,y +︺,r +甃,g +衱,b +え,y +︺,r +甃,g +︺,2 +甃,1 diff --git a/NameCreater/main.cpp b/NameCreater/main.cpp index d268915..f3ac988 100644 --- a/NameCreater/main.cpp +++ b/NameCreater/main.cpp @@ -13,7 +13,8 @@ #include -#define BG_SAMPLE_PATH ":/NameCreater/resource/background_sample.jpg" +//#define BG_SAMPLE_PATH ":/NameCreater/resource/background_sample.jpg" +#define BG_SAMPLE_PATH ":/NameCreater/resource/two_word_sample.jpg" #define BG_PATH_FORMAT ":/NameCreater/resource/background_%1.jpg" #define FONT_NAME "DFYuanStd-W8.otf" #define FONT_SIZE 120 @@ -54,6 +55,21 @@ static QPointF NAME_POS[] = { QPointF(1268, 2334), QPointF(2240, 2202), }; +static QPointF NAME_POS_TWO_WORD[] = { + QPointF(240, 510), QPointF(372, 1402), + QPointF(564, 430), QPointF(694, 1402), + QPointF(883, 430), QPointF(1014, 1402), + QPointF(1205, 430), QPointF(1337, 1402), + QPointF(1532, 430), QPointF(1663, 1402), + QPointF(1854, 430), QPointF(1987, 1402), + QPointF(2176, 430), QPointF(2309, 1402), + QPointF(2498, 430), QPointF(2629, 1402), + QPointF(2821, 430), QPointF(2952, 1402), + QPointF(3145, 430), QPointF(3276, 1402), + QPointF(1268, 2012), QPointF(2240, 1880), + QPointF(1268, 2334), QPointF(2240, 2202), +}; + static int NAME_POS_COUNT = sizeof(NAME_POS) / sizeof(NAME_POS[0]); @@ -217,14 +233,25 @@ int main(int argc, char* argv[]) msgBox.exec(); } QString name = name_info.name1; + int name_len = name.length(); for (int j = 0; j < 2; j++) { int pos_idx = idx * 2 + j; int xscale, yscale; xscale = yscale = (j == 1) ? -1 : 1; QPointF pos = NAME_POS[pos_idx]; + int y_offset[2] = {0}; + if (name_len == 2) { + if (!rot) { + pos.setY(pos.y() + 82 * xscale); + } + else { + pos.setX(pos.x() + 82 * xscale); - + } + + y_offset[0] = 25; + } QGraphicsTextItem* textItem1 = new QGraphicsTextItem(name.mid(0, 1)); textItem1->setFont(font); @@ -240,7 +267,6 @@ int main(int argc, char* argv[]) } - scene.addItem(textItem1); QGraphicsTextItem* textItem2 = new QGraphicsTextItem(name.mid(1, 1)); @@ -248,31 +274,34 @@ int main(int argc, char* argv[]) textItem2->setDefaultTextColor(font_color); if (!rot) { - textItem2->setPos(pos.x(), pos.y() + 145 * xscale); + textItem2->setPos(pos.x(), pos.y() + (145 + y_offset[0]) * xscale); textItem2->setTransform(QTransform::fromScale(xscale, yscale)); } else { - textItem2->setPos(pos.x() + 145 * xscale, pos.y()); + textItem2->setPos(pos.x() + (145 + y_offset[0]) * xscale, pos.y()); textItem2->setRotation(-90); textItem2->setTransform(QTransform::fromScale(xscale, yscale)); } scene.addItem(textItem2); - QGraphicsTextItem* textItem3 = new QGraphicsTextItem(name.mid(2, 1)); - textItem3->setFont(font); - textItem3->setDefaultTextColor(font_color); - if (!rot) { - textItem3->setPos(pos.x(), pos.y() + 290 * xscale); - textItem3->setTransform(QTransform::fromScale(xscale, yscale)); - } - else { - textItem3->setPos(pos.x() + 290 * xscale, pos.y()); - textItem3->setRotation(-90); - textItem3->setTransform(QTransform::fromScale(xscale, yscale)); - } + if (name_len > 2) { + QGraphicsTextItem* textItem3 = new QGraphicsTextItem(name.mid(2, 1)); + textItem3->setFont(font); + textItem3->setDefaultTextColor(font_color); + if (!rot) { + textItem3->setPos(pos.x(), pos.y() + 290 * xscale); + textItem3->setTransform(QTransform::fromScale(xscale, yscale)); + } + else { + textItem3->setPos(pos.x() + 290 * xscale, pos.y()); + textItem3->setRotation(-90); + textItem3->setTransform(QTransform::fromScale(xscale, yscale)); + } - scene.addItem(textItem3); + scene.addItem(textItem3); + } + } bool is_export_page = ((idx + 1) % BG_POS_COUNT == 0); @@ -280,7 +309,9 @@ int main(int argc, char* argv[]) QString file_name = QString("%1_.jpg").arg(QString::number(export_times + 1)); saveToImage(file_name, &scene); export_times++; - scene.clear(); + view.show(); + break; + //scene.clear(); } } @@ -293,5 +324,5 @@ int main(int argc, char* argv[]) font_res.close(); - return 0; + return a.exec(); } diff --git a/NameCreater/resource/background_1.jpg b/NameCreater/resource/background_1.jpg new file mode 100644 index 0000000..bec3777 Binary files /dev/null and b/NameCreater/resource/background_1.jpg differ diff --git a/NameCreater/resource/background_10.jpg b/NameCreater/resource/background_10.jpg new file mode 100644 index 0000000..11d704e Binary files /dev/null and b/NameCreater/resource/background_10.jpg differ diff --git a/NameCreater/resource/background_2.jpg b/NameCreater/resource/background_2.jpg new file mode 100644 index 0000000..d0554fe Binary files /dev/null and b/NameCreater/resource/background_2.jpg differ diff --git a/NameCreater/resource/background_3.jpg b/NameCreater/resource/background_3.jpg new file mode 100644 index 0000000..664ae0b Binary files /dev/null and b/NameCreater/resource/background_3.jpg differ diff --git a/NameCreater/resource/background_4.jpg b/NameCreater/resource/background_4.jpg new file mode 100644 index 0000000..e83c826 Binary files /dev/null and b/NameCreater/resource/background_4.jpg differ diff --git a/NameCreater/resource/background_5.jpg b/NameCreater/resource/background_5.jpg new file mode 100644 index 0000000..6492575 Binary files /dev/null and b/NameCreater/resource/background_5.jpg differ diff --git a/NameCreater/resource/background_6.jpg b/NameCreater/resource/background_6.jpg new file mode 100644 index 0000000..0a5c1f9 Binary files /dev/null and b/NameCreater/resource/background_6.jpg differ diff --git a/NameCreater/resource/background_7.jpg b/NameCreater/resource/background_7.jpg new file mode 100644 index 0000000..3d56815 Binary files /dev/null and b/NameCreater/resource/background_7.jpg differ diff --git a/NameCreater/resource/background_8.jpg b/NameCreater/resource/background_8.jpg new file mode 100644 index 0000000..cb6fc90 Binary files /dev/null and b/NameCreater/resource/background_8.jpg differ diff --git a/NameCreater/resource/background_9.jpg b/NameCreater/resource/background_9.jpg new file mode 100644 index 0000000..91c6aa9 Binary files /dev/null and b/NameCreater/resource/background_9.jpg differ diff --git a/NameCreater/resource/two_word_sample.jpg b/NameCreater/resource/two_word_sample.jpg new file mode 100644 index 0000000..acd3b7b Binary files /dev/null and b/NameCreater/resource/two_word_sample.jpg differ