方法有两种,使用QSvgRenderer与不使用QSvgRenderer

一.效果

二.Qt小贴士:在高分屏下渲染SVG到QPixmap   (译)

使用Qt类将SVG转换为QPixmap格式是非常容易的,在Qt文档中有些相关的例子,但是这些例子仅仅处理了屏幕设备的标准像素比为1的情况。
如果你需要在高分屏上显示图像,结果会有些不一样。下面的函数传入SVG文件的路径,并根据第一个参数指定的尺寸返回QPixmap。

QPixmap FromSvgToPixmap(const QSize &ImageSize, const QString &SvgFile)
{
 QSvgRenderer SvgRenderer(SvgFile);
 QPixmap Image(ImageSize);
 QPainter Painter; Image.fill(Qt::transparent); Painter.begin(&Image);
 SvgRenderer.render(&Painter);
 Painter.end(); return Image;
}

这个函数在标准PC显示器下可以正常工作,QSvgRender对象按照指定的图像尺寸将SVG渲染到QPixmap。但是在高分屏下,你会注意到图像会显示得比正常的小,而且绘制效果不好,这是因为图像是按照屏幕像素比为1的情况进行绘制的。高分屏有更高的像素比,如果图像按照实际的尺寸来渲染,图像看起来就像“缩水了”。
幸运的是, 按照当前屏幕像素比来调整渲染操作并不复杂,如下所示:

QPixmap F

Qt之SVG转QPixmap并改变颜色相关推荐

  1. QT使用html改变字体颜色,QT中设置字体和更改字体颜色

    QT中设置字体和更改字体颜色 对一个文本框lineEdit设置字体,首先我建了一个按钮setFontButton用来设置 并定义了它的相应函数setFont,将setFontButton添加到布局中, ...

  2. background-image使用svg如何改变颜色

    结论 在我多番测试之后,才发现background-image使用svg,改变颜色根本做不了. 分析 当svg图片被使用成background-image,颜色的设置需要在svg内部才能生效.在外部C ...

  3. 修改svg图片的颜色html,通过CSS改变svg image引入的图片颜色?

    在html元素中通过background设置图片icon,然后通过css3的filter滤镜的drop-shadow 设置阴影来呈现这种改变图片颜色的效果.很不错的方法. 但是我现在的元素是在svg中 ...

  4. 学习踩坑:在Vue项目中使用svg标签却无法改变图标的颜色

    在Vue项目中使用svg标签却无法改变图标的颜色 在学习 vue 实战项目的过程中,用到了 svg 模块,对其使用了 fill 属性后,图标的颜色却没有任何的改变,反复查看了视频,步骤是一模一样的,却 ...

  5. 阿里iconfont上传svg图片空白、或展示不全的解决方案/搜索到的icon无法改变颜色解决方案

    问题1:阿里iconfont上传svg图片空白.或展示不全 原因 造成这个问题的原因,可能是因为sketch.dx等软件在导出svg时,自动在svg上添加了一些iconfont平台无法解析的属性造成的 ...

  6. qt html svg应用,Qt 控件图标SVG实现

    Qt 控件图标SVG实现 应用程序开发时为了美观通常都会有几套皮肤,界面背景颜色.文字颜色等是可以调整rgb值切换成对应皮肤的颜色值,但是图标就不可以这样切换,除非提前加载所有皮肤的图标,但是这样就会 ...

  7. python动态改变标签的颜色_PyQt4 treewidget 选择改变颜色,并设置可编辑的方法

    如下所示: # -*- coding: utf-8 -*- import sys from PySide.QtGui import * from PySide.QtCore import * glob ...

  8. QT中设置字体和更改字体颜色

    QT中设置字体和更改字体颜色 对一个文本框lineEdit设置字体,首先我建了一个按钮setFontButton用来设置 并定义了它的相应函数setFont,将setFontButton添加到布局中, ...

  9. Qt开发Svg Editor分享

    使用Qt开发SVG编辑器. (1)支持新建SVG文件. (2)支持画布设置,如大小.背景色.缩放等. (3)支持在新建的文件中添加/编辑以下矢量元素:直线.矩形.多边形.圆.自由线.文字. (4)支持 ...

最新文章

  1. AJAX学习基础:简单介绍数据岛使用方法
  2. CICC科普栏目|神经网络浅讲:从神经元到深度学习
  3. oracle分组排序
  4. springboot之jackson的两种配置方式
  5. 转载:CRONTAB格式,命令
  6. 核聚类与支持向量聚类
  7. python 运行结果保存_『如何将python运行结果保存成txt,万分感谢呐』python txt教程...
  8. python3读取excel方法封装_Python读取Excel的方法封装
  9. 从扁平到立体:Windows 10 图标的演化
  10. ubuntu突然连不上-调试方式
  11. hotspot虚拟机的调试
  12. 使用jfreechart来创建一个简单的饼图
  13. 推荐算法实现java_利用Java写开源库 覆盖70多种推荐算法
  14. SqlServer2005数据库文件损坏的拯救过程
  15. VM虚拟机安装centos6.3详细图文教程
  16. 2022危险化学品经营单位主要负责人考试模拟100题及模拟考试
  17. genymotion配置android模拟器
  18. python 抢票程序_程序员硬核Python抢票教程”,帮你抢回家车票
  19. pdfjs 浏览器打印字体模糊问题
  20. 又一所985大学全面改考408!厦门大学计算机考研

热门文章

  1. SDWebImage导图
  2. 语义通信所涉及理论知识【记录学习过程,持续更新】
  3. 将IDEA快捷键设置成eclipse
  4. 高密度 PCB 线路板设计中的过孔知识
  5. 1.假设检验学习笔记
  6. 华为设备配置CAPWAP断链业务保持
  7. 微服务狂热_编程狂热者
  8. Kaggle时间序列预测相关比赛以及代码
  9. php 循环电泳函数,双向凝胶电泳操作步骤
  10. JVM 运行流程、类加载、垃圾回收