SVG(Scalable Vector Graphics),即可缩放的矢量图形,是规范中的网格矢量图形标准,是一个开放的图形标准,有以下特点:
- 基于XML表示的矢量图形文件
- 采用文本来描述对象
- 具有交互型和动态性
- 完全支持DOM
SVG相对于GIF、JPEG格式的优势如下:
- 文件小,对于网络而言,下载速度快
- 可任意缩放而不会破坏图像的清晰度和细节
- 图像中的文字独立于图像,文字保留可编辑和可搜寻状态,也没有字体限制,用户系统即使没用安装某一字体,也可看到与制作时完全相同的画面等
Qt为SVG格式图片的显示与生成提供了专门的QtSvg模块,包含QSvgWidget、QSvgRender、QGraphicsSvgItem
1. 添加头文件:#include <QtSvg>
2. 响应鼠标的滚轮事件,使SVG图片能够通过鼠标滚轮的滚动进行播放:void wheelEvent(QWheelEvent *);
void wheelEvent(QWheelEvent* e)
{
const double diff = 0.1; //diff的值表示每次滚轮滚动一定的值,图片大小改变的比例
QSize size = render()->defaultSize(); //获取图片显示区的尺寸,以便进行缩放操作
int width = size.width();
int height = size.height();
//QWheelEvent的delta()函数获得滚轮滚动的距离值,若距离值>0,则表示滚轮向前(远离用户的方向)滚动,反