当前位置: 首页 > news >正文

Qt与SVG

Qt之SVG:Qt简单使用SVG的介绍_qt svg-CSDN博客

这是一个简单的svg文件

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" version="1.1"><circle cx="100" cy="50" r="40" stroke="black"stroke-width="2" fill="green" />
</svg>

svg标签中包含了一个circle标签,circle元素的属性定义了这个圆的特性。

圆心:(100,50),半径:40

----------------------------------

1.

QGraphicsSvgItem:可用于呈现SVG文件内容的QGraphicsItem

继承自QGraphicsObject

QGraphicsObject继承自QObjectQGraphicsItem

    QString path = QApplication::applicationDirPath() + "/circle.svg";qDebug() << "[" << __FILE__ << __LINE__ << "]" << path;QGraphicsSvgItem * item = new QGraphicsSvgItem(path);item->setFlag(QGraphicsItem::ItemIsMovable);QGraphicsScene scene;scene.addItem(item);QGraphicsView view;view.setScene(&scene);view.show();

2.使用QSvgWidget显示svg图像

    QString path = QApplication::applicationDirPath() + "/circle.svg";qDebug() << "[" << __FILE__ << __LINE__ << "]" << path;QSvgWidget w(path);w.resize(300,300);w.show();

3.使用QSvgRenderer加载svg文件

把svg文件存入到QPixmap中。

在QLabel上显示svg图片。

    QString path = QApplication::applicationDirPath() + "/circle.svg";qDebug() << "[" << __FILE__ << __LINE__ << "]" << path;QSvgRenderer render;render.load(path);QSize size = render.defaultSize();qDebug() << "[" << __FILE__ << __LINE__ << "]" << size;//(82,82):    40 + 40 + 2QPixmap pix(size * 5);qDebug() << "[" << __FILE__ << __LINE__ << "]" <<pix.size();//pix.fill(Qt::transparent);pix.fill(Qt::red);QPainter painter(&pix);painter.setRenderHint(QPainter::Antialiasing);render.render(&painter);QLabel label;label.setPixmap(pix);label.setAlignment(Qt::AlignTop);label.show();


http://www.mrgr.cn/news/13643.html

相关文章:

  • 【图像】灰度图与RGB图像的窗宽、窗位的值范围二三问
  • 数据结构之 “单链表“
  • vue3编程 -动态多开模态框实现方案
  • MySQL中的事务
  • [英语单词] unsound
  • 19行为型设计模式——备忘录模式
  • Uniapp 调用aar、jar包
  • 学习笔记——Redis基础
  • ★ 算法OJ题 ★ 力扣1089 - 复写零
  • Java 结合elasticsearch-ik分词器,实现评论的违规词汇脱敏等操作
  • 2024.8.28 作业
  • Spring:浅谈对Spring的认识
  • 【微信小程序】全局数据共享 - MobX
  • 【学习笔记】 陈强-机器学习-Python-Ch13 提升法(1)
  • 云计算环境下的数据治理
  • 光性能 -- 光功率平坦度
  • 【计算机网络】mini HTTP服务器框架与代码
  • XR虚拟拍摄短剧 | 探索虚拟制作在短剧领域的应用与发展
  • 今日算法:蓝桥杯基础题之“门牌制作”
  • Python 正则表达式