第9章 图形绘制与视图框架

Qt提供了四个类用于处理图像数据:QImage、QPixmap、QBitmap、QPicture。一般利用QImage、QPxmap类实现图像的加载显示,使用其类中的方法可以实现图像的基本操作(缩放、旋转)。QBitmap是一个继承于QPixmap的简单类,用于显示单色图片。在界面中通常使用QLabel控件来显示图像,QLabel的setPixmap()函数用于设置显示图像或者使用QPainter画出图像。

QImage与Qpixmap的区别如下:

1、QPixmap主要是用于绘图,针对屏幕显示而最佳化设计,QImage主要是为图像I/O、图片访问和像素修改而设计的,当图片小的情况下,直接用QPixmap进行加载,一般图片大的情况下,用QImage进行加载,然后转QPixmap绘制。

2、QPixmap依赖于所在的平台的绘图引擎,例如反锯齿等一些效果在不同的平台上可能会有不同的显示效果,QImage使用Qt自身的绘图引擎,可在不同平台上具有相同的显示效果。所以QPixmap绘图依赖于硬件,QImage独立于硬件。

3、由于QImage是独立于硬件的,也是一种QPaintDevice,因此我们可以在另一个线程中对其进行绘制,而不需要在GUI线程中处理,使用这一方式可以很大幅度提高UI响应速度。

参考Qt的帮助文档,可查看当前QT支持的图片类型,或者可以通过QImageReader

9.1 使用QPxmap类加载图片相关推荐

  1. 【windows gdi+】GDI+ Image类加载图片时异常问题处理与分析

    问题描述: 项目里一个控件,需要加载本地图片,单张第一次加载的时候可以的,但是重新选择其他图片,会出现图片显示异常的现象. 直接上图,图片部分显示不全了. 问题分析: 一开始怀疑现象是有个图片重复选择 ...

  2. 用Aspose.Words for .NET动态生成word文档中的图片或水印

    1.概述 在项目中生成word文档,这个功能很普遍的,一般生成都是纯文字或是列表的比较多,便于客户打印,而要把图片也生成到word文档中的需求有些客户也是需要的,例如产品图片.这次我们介绍的是如何利用 ...

  3. android picasso 三级缓存,Android中图片的三级缓存浅析

    图片的三级缓存机制一般是指应用加载图片的时候,分别去访问内存,文件和网络而获取图片数据的一种行为.以下内容只是简单的介绍了三级缓存的思想和大致流程,还有很多细节未进行处理,如果想深入研究可以在Gith ...

  4. android-smart-image-view图片加载简单使用

    这个工具类是带缓存功能的图片加载工具类,它自己会在新线程中进行操作. 下载地址:工具类下载地址 1.首先将工具类的com文件夹拷贝到工程中. 2.图片组件不再用ImageView,而是使用com.lo ...

  5. 17.200种鸟类图片分类

    这个是一个多分类问题,我们先看一下这个数据集 首先我们有一个文件夹叫birds_train 这个文件夹中有200个子文件夹,每一个文件夹中都是一种鸟类的照片 我们打开一个文件夹 其中有39张该鸟类的图 ...

  6. android三级缓存封装,Android 中图片的三级缓存详解

    图片的三级缓存机制一般是指应用加载图片的时候,分别去访问内存,文件和网络而获取图片数据的一种行为. 一.三级缓存流程图 三级缓存流程图 二.代码框架搭建 这里我仿造Picasso[3]的加载图片代码, ...

  7. 在对话框显示图片补充方法

    总结出两种方法: 1.  使用ATL库中的CImage类加载图片 2.  使用免费共享的CxImage库中的加载图片(可支持几乎所有格式) 方法一.使用ATL库中的CImage类加载图片 使用ATL库 ...

  8. Aspose.Words图片水印

    1.概述 在项目中生成word文档,这个功能很普遍的,一般生成都是纯文字或是列表的比较多,便于客户打印,而要把图片也生成到word文档中的需求有些客户也是需要的,例如产品图片.这次我们介绍的是如何利用 ...

  9. Android 高仿微信 你可能要发送的图片

    微信发送图片有个功能,就是当你拍完照片,或者保存一个张照片的时候,你点击聊天框的"+"号,微信会有个提示,你可能要发送的图片,并且附上相应的图片.要实现这个功能,分两个步骤. 1, ...

最新文章

  1. mysql断网_mysql数据库断网链接
  2. Git高速入门——Git安装、创建版本号库以及经常使用命令
  3. 【BZOJ3196】Tyvj 1730 二逼平衡树
  4. 华月互网获得2012全国十大IDC服务商
  5. Delphi中静态方法重载还是覆盖的讨论
  6. python常见面试题:m1={‘a‘:1,‘b‘:2,‘c‘:1} 将同样的value的key集合在list里,输出{1:[‘a‘,‘c‘],2:[‘b‘]}
  7. 走近科学,探究阿里闲鱼团队通过数据提升Flutter体验的真相
  8. asp.net 拦截html,关于c#:如何在-ASPNET-Core-中实现全局异常拦截
  9. 取消chrome浏览器下input和textarea的默认样式
  10. 由m种数字组成的n位数有多少个
  11. 图的简单应用(C/C++实现)
  12. 5分钟快速了解微信小程序如何获取收货地址,耶稣也拦不住,我说的!!!
  13. SwiftUI实战三:创建List视图和导航Navigation
  14. AutoCAD自带CAD Express Tools实现停车位自动编序号
  15. OpenKG开源系列 | 面向知识的推理问答编程语言KoPL(清华大学)
  16. 北斗三号频点_海格通信发布国内首批北斗三号双模应用专用芯片
  17. c语言综合项目实践 结构体及应用,C51单片机应用与C语言程序设计(第3版) 基于机器人工程对象的项目实践简介,目录书摘...
  18. 2022年安徽省和湖北省供应链创新与应用示范城市和示范企业申报条件流程
  19. 【转】如何使用visual studio将你的程序打包成安装包
  20. ai修复照片软件是哪个软件_最近大火的AI修复照片是什么软件做出来的 其实可能就是这个小程序而已...

热门文章

  1. java金字塔数字问题,java控制台输出数字金字塔示例分享
  2. C语言编译cc,c语言编译过程及cc 的使用
  3. cesium 加载和删除kmz
  4. ASUS WIN7 DRIVER
  5. 各种JDBC连接池配置参数比较
  6. iOS开发之如何在本地比较代码
  7. k8s中java内存泄漏,Kubernetes 案例分享:如何避免 JVM 应用内存耗尽
  8. 交友盲盒小程序版本 全开源版本kxdao首发(已更新)
  9. Hadoop权威指南(中文版)
  10. java计算机毕业设计驴友社区网站录屏源程序+mysql+系统+lw文档+远程调试