添加了修改

TaoZhang-Branch
karlis 2023-02-23 22:57:01 +08:00
parent abe1ee02c1
commit ab402955cd
11 changed files with 64 additions and 119 deletions

View File

@ -29,7 +29,7 @@ EditorWidget::EditorWidget(QWidget *parent) : QWidget(parent)
QJsonObject source = jsonDoc.object();
elementManager = new ElementManager(source,previewWindow->getRenderer());
layerManager = new LayerManager(source, elementManager);
previewWindow->initialize(layerManager);
previewWindow->initialize(layerManager,QSize(jsonDoc.object().value("width").toDouble(),jsonDoc.object().value("height").toDouble()));
if (layerManager->getRoot() != nullptr)
{
treeWidget->addTopLevelItem(layerManager->getRoot()->qTreeItem);

View File

@ -46,7 +46,6 @@ PixelPath GroupElement::getPaintObject() const
PixelPath SimpleElement::getPaintObject(std::vector<Renderer::ElementStyleStrokeDemo> styles) const {
PixelPath result;
Renderer::ElementStyleStrokeDemo demo(2);
qDebug() << (renderer == nullptr) << "------------";
auto [img, mov] = renderer->drawElement(painterPath, demo, 1.0, false);
//qDebug() << img << " ------";
result.addImage(img, mov);

View File

@ -21,9 +21,15 @@ QRectF PixelPath::getBoundingRect() const
{
return boundingRect;
}
#include <QDebug>
QPixmap PixelPath::getPixmap() const
{
auto k = pixmap;
QPainter pt(&k);
qDebug() << this->boundingRect;
//pt.fillRect(this->boundingRect, Qt::red);
//pt.fillRect(QRectF(1013.35 - 1000, 768.327 - 700,58.0887,41.5352), Qt::blue);
return k;
return pixmap;
}

View File

@ -12,8 +12,8 @@ private:
QPixmap pixmap;
int w,h;
public:
PixelPath(int w=1280, int h=720);
PixelPath(QPainterPath painterPath,int w = 1280, int h = 720);
PixelPath(int w=2400, int h= 2400);
PixelPath(QPainterPath painterPath,int w = 2400, int h = 2400);
~PixelPath() = default;
QRectF getBoundingRect() const;
QPixmap getPixmap() const;

View File

@ -12,8 +12,9 @@ PreviewWindow::PreviewWindow(QWidget *parent) : QOpenGLWidget(parent)
layerManager = nullptr;
}
void PreviewWindow::initialize(LayerManager *layerManager)
void PreviewWindow::initialize(LayerManager *layerManager,QSize windowSize)
{
this->setFixedSize(windowSize);
this->layerManager = layerManager;
}

View File

@ -21,7 +21,7 @@ class PreviewWindow : public QOpenGLWidget, protected QOpenGLFunctions
public:
PreviewWindow(QWidget *parent = nullptr);
void initialize(LayerManager *layerManager);
void initialize(LayerManager *layerManager, QSize windowSize = QSize(1920, 1080));
void show();
void initializeGL() override;
void paintGL() override;

View File

@ -44,27 +44,27 @@ void InfoDisplayWidget::generateLayerForm()
QLineEdit *scaleX = new QLineEdit(QString::number(this->displayLayer->property.scale.x()), this);
QLineEdit *scaleY = new QLineEdit(QString::number(this->displayLayer->property.scale.y()), this);
name->setDisabled(true);
rotation->setValidator(new QIntValidator(-1000, 1000, this));
rotation->setValidator(new QIntValidator(-10000, 10000, this));
connect(rotation, &QLineEdit::textChanged, [=](QString content) {
this->displayLayer->property.rotation = content.toDouble();
emit requireRefreshPreview();
});
offsetX->setValidator(new QIntValidator(-1000, 1000, this));
offsetX->setValidator(new QIntValidator(-10000, 10000, this));
connect(offsetX, &QLineEdit::textChanged, [=](QString content) {
this->displayLayer->property.offset = {content.toDouble(), this->displayLayer->property.offset.y()};
emit requireRefreshPreview();
});
offsetY->setValidator(new QIntValidator(-1000, 1000, this));
offsetY->setValidator(new QIntValidator(-10000, 10000, this));
connect(offsetY, &QLineEdit::textChanged, [=](QString content) {
this->displayLayer->property.offset = {this->displayLayer->property.offset.x(), content.toDouble()};
emit requireRefreshPreview();
});
scaleX->setValidator(new QDoubleValidator(0.01, 100, 4, this));
scaleX->setValidator(new QDoubleValidator(0.001, 1000, 4, this));
connect(scaleX, &QLineEdit::textChanged, [=](QString content) {
this->displayLayer->property.scale = {content.toDouble(), this->displayLayer->property.scale.y()};
emit requireRefreshPreview();
});
scaleY->setValidator(new QDoubleValidator(0.01, 100, 4, this));
scaleY->setValidator(new QDoubleValidator(0.001, 1000, 4, this));
connect(scaleY, &QLineEdit::textChanged, [=](QString content) {
this->displayLayer->property.scale = {this->displayLayer->property.scale.x(), content.toDouble()};
emit requireRefreshPreview();

View File

@ -14,6 +14,8 @@ namespace UnitTest
public:
TEST_METHOD(TestBothSidesRound)
{
Logger::WriteMessage("In Class1");
Assert::AreEqual(1 ,2);
QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);

143
data.json
View File

@ -1,109 +1,38 @@
{
"height": 1080,
"width": 1080,
"elements": [
{
"name": "ababa",
"type": "svg-file",
"data": {
"include": "./svg/2.svg"
}
},
{
"name": "ababa-group",
"type": "group",
"data": {
"reference-layer": "0.0"
}
}
],
"root-layer": {
"name": "root",
"transform": {
"offset": {
"x": 0,
"y": 0
},
"scale": {
"x": 1.0,
"y": 1.0
},
"height": 1080,
"width": 1920,
"elements": [
{
"name": "ababa",
"type": "svg-file",
"data": {
"include": "./svg/12(1).svg"
}
},
{
"name": "ababa-group",
"type": "group",
"data": {
"reference-layer": "0.0"
}
}
],
"root-layer": {
"name": "root",
"transform": {
"offset": {
"x": 0,
"y": 0
},
"scale": {
"x": 0.5,
"y": 0.5
},
"rotation": 0.0
},
"effects": [],
"is-folder": true,
"referenced-by": null,
"children": [
{
"name": "GroupFolderExample",
"transform": {
"offset": {
"x": 50,
"y": 50
},
"scale": {
"x": 1.0,
"y": 1.0
},
"rotation": 0.0
},
"effects": [],
"is-folder": true,
"referenced-by": 1,
"children": [
{
"name": "Leaf1",
"transform": {
"offset": {
"x": 0,
"y": 0
},
"scale": {
"x": 1.0,
"y": 1.0
},
"rotation": 0.0
},
"effects": [],
"is-folder": false,
"element": 0
},
{
"name": "Leaf2",
"transform": {
"offset": {
"x": 150,
"y": 0
},
"scale": {
"x": 1.5,
"y": 1.5
},
"rotation": 0.0
},
"effects": [],
"is-folder": false,
"element": 0
}
]
},
{
"name": "ReferencingGroupLayer",
"transform": {
"offset": {
"x": 100,
"y": 0
},
"scale": {
"x": 1,
"y": 1
},
"rotation": 45
},
"effects": [],
"is-folder": false,
"element": 1
}
]
}
}
},
"effects": [],
"is-folder": false,
"element": 0
}
}

1
svg/12(1).svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.7 KiB

7
svg/12.svg Normal file
View File

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 822.45 644.74">
<defs>
<style>.cls-1,.cls-2{fill:none;stroke-miterlimit:10;}.cls-1{stroke:#af5c4c;}.cls-2{stroke:#aa7226;}</style>
</defs>
<path id="红_右下_4" class="cls-1" d="M1026,772.51a6.67,6.67,0,0,0,4.09,2c3.83.29,7-3.67,8.17-6.64,2.25-5.95-1.81-13.64-7.15-17.36-7.86-5.46-17.88-1.94-22-.51-15.17,5.33-21.35,19.5-22,20.94-7.29,17.46,1.77,33.53,3.07,35.74,8.87,15.14,24.68,19.24,33.19,21.45,5.56,1.44,26,6.75,46.47-4.6,26.86-14.9,30.35-45.55,30.64-48.51" transform="translate(-946.07 -186.44)"/>
</svg>

After

Width:  |  Height:  |  Size: 583 B