diff --git a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
index 91c9f62..6b49ff0 100644
--- a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
+++ b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
@@ -197,6 +197,7 @@
+
diff --git a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
index 71f1e04..e047cce 100644
--- a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
+++ b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
@@ -480,6 +480,9 @@
Header Files\Editor\util
+
+ Header Files
+
diff --git a/ArchitectureColoredPainting/src/Editor/LayerStyle.cpp b/ArchitectureColoredPainting/src/Editor/LayerStyle.cpp
index 9b65355..02e3b73 100644
--- a/ArchitectureColoredPainting/src/Editor/LayerStyle.cpp
+++ b/ArchitectureColoredPainting/src/Editor/LayerStyle.cpp
@@ -1,6 +1,6 @@
#include "LayerStyle.h"
#include "./EditorWidgetComponent/StrokeStyleWidget.h"
-#include "./util/JsonUtil.hpp"
+#include "./util/EncodeUtil.hpp"
#include
#include
#include
@@ -124,8 +124,8 @@ QJsonObject StrokeElementLayerStyle::toJson() const
QJsonObject json;
json.insert("type", "stroke");
json.insert("enableEachSideIndependent", enableEachSideIndependent);
- json.insert("left", JsonUtil::toQJsonArray(strokePair.first->encoded()));
- json.insert("right", JsonUtil::toQJsonArray(strokePair.second->encoded()));
+ json.insert("left", EncodeUtil::toBase64(strokePair.first->encoded()));
+ json.insert("right", EncodeUtil::toBase64(strokePair.second->encoded()));
return json;
}
diff --git a/ArchitectureColoredPainting/src/Editor/util/EncodeUtil.hpp b/ArchitectureColoredPainting/src/Editor/util/EncodeUtil.hpp
new file mode 100644
index 0000000..9ae0957
--- /dev/null
+++ b/ArchitectureColoredPainting/src/Editor/util/EncodeUtil.hpp
@@ -0,0 +1,25 @@
+#pragma once
+#include
+
+namespace EncodeUtil
+{
+#include
+ template
+ QString toBase64(const std::vector& vec)
+ {
+ QByteArray ba;
+ ba.resize(vec.size() * sizeof(S));
+ memcpy_s(ba.data(), ba.size(), vec.data(), vec.size());
+ return ba.toBase64();
+ }
+
+ template
+ std::vector fromBase64(const QString& str)
+ {
+ QByteArray ba = QByteArray::fromBase64(str.toUtf8());
+ std::vector vec;
+ vec.resize(ba.size() / sizeof(T));
+ memcpy_s(vec.data(), vec.size() * sizeof(T), ba.data(), ba.size());
+ return vec;
+ }
+}