初步重构
This commit is contained in:
@@ -5,21 +5,18 @@
|
||||
#include <utility>
|
||||
#include <qdom.h>
|
||||
#include "../base/Global.h"
|
||||
void SVGImage_Render::render(QPainter* painter, const QRectF& rect) {
|
||||
void SVG_Image_Render::render(QPainter* painter, const QRectF& rect) {
|
||||
render(painter, rect, _color);
|
||||
}
|
||||
|
||||
void SVGImage_Render::render(QPainter *painter) {
|
||||
void SVG_Image_Render::render(QPainter* painter) {
|
||||
QSvgRenderer renderer(change_color(_color));
|
||||
renderer.render(painter);
|
||||
}
|
||||
|
||||
void SVGImage_Render::render(QPainter* painter, const QRectF& rect, const QColor& color) {
|
||||
void SVG_Image_Render::render(QPainter* painter, const QRectF& rect, const QColor& color) {
|
||||
QSvgRenderer renderer(change_color(color));
|
||||
renderer.render(painter, rect);
|
||||
}
|
||||
|
||||
QImage SVGImage_Render::to_image(QSize size, const QColor& color) {
|
||||
QImage SVG_Image_Render::to_image(QSize size, const QColor& color) {
|
||||
QImage image(size, QImage::Format_ARGB32);
|
||||
image.fill(Qt::transparent);
|
||||
QPainter painter(&image);
|
||||
@@ -27,12 +24,10 @@ QImage SVGImage_Render::to_image(QSize size, const QColor& color) {
|
||||
renderer.render(&painter, QRectF(QPointF(0, 0), QSizeF(size)));
|
||||
return image;
|
||||
}
|
||||
|
||||
QPixmap SVGImage_Render::to_pixmap(QSize size, const QColor& color) {
|
||||
QPixmap SVG_Image_Render::to_pixmap(QSize size, const QColor& color) {
|
||||
return QPixmap::fromImage(to_image(size, color));
|
||||
}
|
||||
|
||||
QByteArray SVGImage_Render::change_color(const QColor& color) {
|
||||
QByteArray SVG_Image_Render::change_color(const QColor& color) {
|
||||
QDomElement root = doc.documentElement();
|
||||
auto text = color.name(QColor::HexRgb).toUpper();
|
||||
root.setAttribute("fill", text);
|
||||
@@ -44,11 +39,9 @@ QByteArray SVGImage_Render::change_color(const QColor& color) {
|
||||
doc.save(outStream, 4);
|
||||
return ret;
|
||||
}
|
||||
|
||||
SVGImage_Render& SVGImage_Render::create() {
|
||||
SVG_Image_Render& SVG_Image_Render::create() {
|
||||
QFile file(_path);
|
||||
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
{
|
||||
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||
qWarning() << VAR_QSTR_1(_path) + "无法打开! " + QLOG_POS;
|
||||
return *this;
|
||||
}
|
||||
@@ -58,5 +51,3 @@ SVGImage_Render& SVGImage_Render::create() {
|
||||
doc.setContent(svgContent);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user