QT 2D图形硬件加速(QGLWidget QPainter) [问题点数:40分,结帖人rosettechris]

Bbs1
本版专家分:0
结帖率 100%
Bbs1
本版专家分:0
Bbs9
本版专家分:58254
Blank
红花 2012年6月 移动平台大版内专家分月排行榜第一
2012年5月 移动平台大版内专家分月排行榜第一
2012年4月 移动平台大版内专家分月排行榜第一
2012年3月 移动平台大版内专家分月排行榜第一
2012年2月 移动平台大版内专家分月排行榜第一
2012年1月 移动平台大版内专家分月排行榜第一
2011年12月 移动平台大版内专家分月排行榜第一
2011年11月 移动平台大版内专家分月排行榜第一
2011年10月 移动平台大版内专家分月排行榜第一
2011年9月 移动平台大版内专家分月排行榜第一
2011年6月 移动平台大版内专家分月排行榜第一
2011年5月 移动平台大版内专家分月排行榜第一
2011年4月 移动平台大版内专家分月排行榜第一
Blank
黄花 2011年8月 移动平台大版内专家分月排行榜第二
2011年7月 移动平台大版内专家分月排行榜第二
2011年3月 移动平台大版内专家分月排行榜第二
Blank
蓝花 2012年8月 移动平台大版内专家分月排行榜第三
2012年7月 移动平台大版内专家分月排行榜第三
Bbs1
本版专家分:40
基于QOpenGLWidget类的图片贴图自适应显示编译环境Qt5.6.3
一直想用OpenGL来显示图像或者做视频播放器的窗口,网上找了很久,都没有Qt这方面最新的靠谱的例子,大部分都是3D模型上贴图,要不就是各种报错,或者Qt的OpenGL版本不对,自己摸索了好久,终于搞
QOpenGLWidget + QPainter混合编程
本示例将一个二维数组可视化,且每一个数据点的颜色由它的Z值决定。根据http://blog.csdn.net/dp_huang/article/details/53816805 在调用opengl函数时,要使用glEnable(GL_DEPTH_TEST);而使用QPainter之前,要使用glDisable(GL_DEPTH_TEST); 本示例用到了gluLookAt,所以在pro文件里要注...
QT图形驱动加速器
在QT嵌入式Linux版本中,painting是一个纯软件实现,分两步:首先,每个窗口使用QPaintEngine在QWSWindowSurface画图,然后,服务器程序将内存中内容写入显示器中。嵌入式Linux版本QT使用QRasterPaintEngine来实现painting操作,利用QScreen来实现window composition为了实现加速,嵌入式版本进行如下操作:1、建立定制显
打开硬件加速的方法
使用 DirectX 诊断基本问题 如果您无法正常播放游戏或电影,DirectX 诊断工具则可以帮助您查明问题的根源。DirectX 是 Windows 中的很多多媒体程序使用的一套技术。 单击启动 DirectX 诊断工具。 要查找什么 诊断工具完成诊断后,需要重点检查以下三项: 检查视频卡 除非打开 Microsoft DirectDraw 或 Direct3
QOPenGLWidget与QPainter混合编程--绘制文本
前言:QOPenGLWidget取代了之前的QGLWidget类,用以在Qt中提供Opengl的编程接口。在QGLWidget类中,我们可以通过方法drawTexture来绘制文本。但是在QOPenGLWidget类的时候,这个方法没有提供了。官方文档给出的建议是混合QPainter使用。本文档就是介绍怎么用QPainter来在OPengl窗口上绘制2D文本 Qt使用QOpenglWidget构建一
nuc972平台qt+dfb+2d简单性能对比测试
经过一段时间的DirectFB的学习之后,终于在nuc972平台上将<em>qt</em>+dfb+<em>2d</em><em>硬件加速</em>跑通了,这边做了一个简单的性能对比测试,测试单纯跑<em>qt</em>和跑<em>qt</em>+dfb+<em>2d</em>的效果对比试验。 测试内容为让一个窗口绕着屏幕跑圈圈,<em>qt</em>代码如下: /* tdialog.h */ #ifndef TDIALOG_H_ #define TDIALOG_H_
QOpenGLWidget绘制2D的方法
可以重新实现paintGL(),在其中通过QPainter绘图。通过update()重绘。 也可以使用通常QWidget的paintEvent()方法实现绘图,通过update()重绘。 下面是官方文档的节选: Painting Techniques As described above, subclass QOpenGLWidget to render pure 3D content
尝试写第二个QOpenGLWidget程序 (未完成)
按照QGLWidegt的教程很有问题,因为两个完全不同了。       幸好搜到了官方的blog,http://blog.<em>qt</em>.io/blog/2014/09/10/<em>qt</em>-weekly-19-qopenglwidget/,文章前面就是说QOpenGLWidegt比QGLWidegt好,然后 (嵌入式就是es的,和desktop差不多的) [html] view pl
利用QOpenGLWidget glDrawArrays()实现纹理贴图
Qt提供了两种可以使用opengl渲染的qwidget派生类,一是QGLWidget,二是QOpenGLWidget。但是前者逐渐不被采用。此外,opengl也逐渐放弃旧的 glBegin() - glEnd()模式,而是采用glDrawArrays()。本篇博文演示利用QOpenGLWidget和glDrawArrays结合,实现纹理贴图。 头文件: #ifndef MAINWINDOW_H
QOpenGLWidget类讲解
QOpenGLWidget类detailed description QOpenGLWidget类是用于渲染OpenGL<em>图形</em>。 除了可以选择使用QPainter和标准的OpenGL渲染<em>图形</em>,QOpenGLWidget类提供了在Qt应用程序中显示OpenGL<em>图形</em>的功能。它使用起来非常简单:新建类继承于QOpenGLWidget,使用方法就像继承于QWidget类子类一样。 QOpenGLWid...
QOpenGLWidget类
公有方法: 构造函数: QOpenGLWidget(QWidget *parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags()) 析构函数: ~QOpenGLWidget() 返回上下文: QOpenGLContext * context() const 返回帧缓存句柄: GLuint defaultFramebufferObject
【Qt】QGLWidget窗口中gl函数的理解及运行流程
QGLWidget类的官方文档:http://doc.<em>qt</em>.io/<em>qt</em>-5.6/<em>qglwidget</em>.html 主要是有如下三个函数需要重写: class MyGLDrawer : public QGLWidget { Q_OBJECT // must include this if you use Qt signals/slots public: MyGLDra
QGLWidget类函数说明及图形保存
QGLWidget类用来绘制OpenGL<em>图形</em>的窗口 转自: http://blog.csdn.net/xie376450483/article/details/5867553 QGLWidget提供一系列的函数来在一个QT应用程序里面绘制OpenGL,用起来很简单,我们可以派生它,然后 使用像其他任何窗口一样使用子类,除非你选择了使用QPainter和标准的OpenGL绘图命令
qt中使用opengl绘制图形动画
可以使用Qt OpenGL模块的功能实现<em>图形</em>的绘制,实现3d动画效果,以下例子介绍如何使用Qt OpenGL相关功能。 1. 2D图像绘制:该示例使用QPainter和QGLWidget展示一个动态的加速的二维<em>图形</em>。 2.
Qt学习之2D绘图(画刷和画笔)
1.重绘事件(paintEvent)
在Qt5.4中如何实现QOpenGLWidget和QPainter混合编程
在Qt5.4的Example中,有一个例子qopenglwidget,介绍了QOpenGLWidget和QPainter,但是在使用过程中,需要注意哪些方面呢?我在最初使用的时候就遇到两者不能同时使用的问题,经过一番折腾,终于解决了该问题。下面,我将需要注意的点记录下来,以便查询。 第一种方法,也就是直接QOpenGLWidget的paintGL函数中绘制两者,其步骤为: QPainter p
Qt5.5无法正常运行QGLWidget的解决办法
以前一直用Qt5.4,在5.4上写了一个简单的opengl程序,一直正常运行。昨天发现,同样的程序,在Qt5.5上面编译不能通过了。总是说glBegin 和glEnd的库找不到( unresolved external symbol __imp__glBegin)。摸索了几个小时,在网上看到这个帖子: http://stackoverflow.com/questions/31633401/
QT opengl 透明度设置
使用QT5 opengl 进行透明度设置,以及立体<em>图形</em>整体的颜色设置。
2D图形加速引擎(GE2D)
32位2D<em>图形</em>引擎(GE2D)专门用于提高<em>图形</em>性能处理。它可以加速单个GUI功能的操作,如BitBLT和Bresenham线绘制在所有像素深度上运行,包括每像素8/16/32位。
QT画图教程4:QT实现2D画图
Qt中提供了强大的2D绘图系统,可以使用相同的API在屏幕上和绘图·设备上进行绘制,主要基于QPainter、QPainterDevice和QPainterEngine这3个类。QPainter执行绘图操作,QPainterDevice提供绘图设备,是一个二维空间的抽象,QPainterEngine提供一些接口。QPainter可以绘制一切简单的<em>图形</em>,从简单的一条直线到任何复杂的<em>图形</em>。QPaint
Qt图形视图框架到底效率如何?
首先看看创建图元有多快? 创建10万个矩形图元耗时78ms。这速度完全没问题。 接着把创建的图元加入到场景中耗时多少? 创建10万个矩形图元并加入到场景中耗时13379ms 。  十几秒这问题就严重了。 然而我把图元的创建和添加至场景放置在子线程中,总会莫名其妙的崩溃。只能放置在主线程中执行。目前暂时的解决办法就是添加一定数量的图元后就将调用程序的事件处理函
Qt实现在QLabel上绘制2D图形
根据以往的经验,我们绘制<em>图形</em>的时候都是在paintevent()函数中实现的,每次移动或改变窗口都会调用该函数来实现绘制。 在paintevent函数中,通常需要设置QPainter对象,创建QPainter对象的同时需要指定绘图设备,即继承自QPainterDevice的子类作为绘图设备,绘制出来的<em>图形</em>将在这个设备上进行显示,Qt一共提供了4个这样的类,分别是QPixmap,QBitmap,QI
QT反锯齿
在用GDI+绘图时候,发现发大的png不会有锯齿,很漂亮,但是在<em>qt</em>中却有锯齿现象,因此网上查了一下,得到如下,确实有用,但还是不够gdi+平滑,由于贴图,因此用到了SmoothPixmapTransform http://blog.chinaunix.net/uid-24219701-id-4044333.html 反走样是<em>图形</em>学中的重要概念,用以防止通常所说的“锯齿”现象的出现
开显卡硬件加速和不开的区别
简而言之,<em>硬件加速</em>就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。 硬件解码生效的时候,系统是怎么运转的呢?现在我们有两个处理器,CPU和GPU。他们通过PCI/AGP/PCIE总线交换数据。 1。CPU从文件系统里读出原始数据(DirectSHow的源滤镜),分离出压缩的视频数据(分离器)。放在系统内存中。 GPU 发呆 2。CPU把压缩视频数据交给GPU, 这时总线
67 2D绘图(反走样绘图 / 抗锯齿渲染)
          逻辑绘图 1、逻辑表示        <em>图形</em>基元的大小(宽度和高度)始终与其数学模型相对应,下图忽略其渲染时使用的画笔的宽度: 物理绘图 在默认的情况下.绘制会产生锯齿. 并且使用这样的规则进行绘制: 当使用宽度为一个像素的画笔进行渲染时.像素会在数学定义的点的右边和下边进行渲染,如下图所示。当使用一个拥有偶数像素的画笔进行渲染时,像素会在数学定义的点的周围...
QOpenglWidget 画动态矩形
    使用的都是opengl的函数,只不过Qt再封装了一遍;在使用过程中有一些注意点,需要记下。我的头文件申明如下#ifndef GLDRAWWIDGET_H #define GLDRAWWIDGET_H #include &amp;lt;QOpenGLWidget&amp;gt; #include &amp;lt;QOpenGLFunctions&amp;gt; #include &amp;lt;QOpenGLBuffer&amp;gt;...
QT+OPenGL绘图例子
环境:Qt4.7.3 + VS2008 效果图:   //***************  glutttt.h #ifndef GLUTTTT_H #define GLUTTTT_H   #include #include #include #include   #pragma comment(lib, "glaux.lib")   class gluttt
Qt 2D绘图之Qt坐标系统深入
定理: { 所有的绘图设备都有自己的坐标系统,它们互不影响。 第一QWidget和QPixmap各有一套坐标系统,它们互不影响。可以看到,无论画布在窗口的什么位置,它的坐标原点依然在左上角,为(0,0)点,没有变。 第二,我们所得到的鼠标指针的坐标值是窗口提供的,不是画布的坐标。 } Qt 2D绘图之Qt坐标系统深入是本文要介绍的内容,了解了 Qt 坐标系统的概
QGLWidget类用来绘制OpenGL图形的窗口
QGLWidget类用来绘制OpenGL<em>图形</em>的窗口 QGLWidget提供一系列的函数来在一个QT应用程序里面绘制OpenGL,用起来很简单,我们可以派生它,然后 使用像其他任何窗口一样使用子类,除非你选择了使用QPainter和标准的OpenGL绘图命令 QGLWidget提供三个方便的虚函数,我们可以在子类中重写他们,来完成一些典型的OpenGL任务: 1、paintGL()函数:
Java2D: 硬件加速 - 第一部分 - 非恒定图像类:Volatile Image
原文地址:[b][url=http://www.javalobby.org/java/forums/m91823967.html#91823967]Java2D: Hareware Accelerating - Part1 - Volatile Images[/url][/b] Java 1.4在Java 2D的功能方面引入了对<em>硬件加速</em>的支持。毫无疑问,<em>硬件加速</em>非常有用——不过有效的使用[u...
Qt学习:QPainter之反走样
反走样是<em>图形</em>学中的重要概念,用以防止“锯齿”现象的出现。很多系统的绘图API里面都会内置了反走样的算法,不过默认一般都是关闭的,Qt也不例外。这里依然先给出效果图先。            其中左图是第一条直线是未启用反走样的效果,第二条直线启用了反走样;右上边一幅图像时启用了反走样的效果,右下边的图关闭了反走样。可以看出,两者的区别还是相当大的。         下面对一些函数及其
Qt学习:三维绘图之OpenGL和Qt的结合
OpenGL是绘制三维<em>图形</em>的标准API。Qt应用程序可以使用QtOpenGL模块绘制三维<em>图形</em>,该模块依赖于系统的OpenGL库。Qt OpenGL模块提供QGLWidget类,可以通过对它子类化,并使用OpenGL命令开发出自己的窗口部件。对许多三维应用程序来说,这就足够了。         这节假设大家都已经学过OpenGL,这样我们就无后顾之忧了。         在Qt中绘制OpenGL
qt编译加速
在Projects选项下面 找到某个设置,在Build Steps下面,Make的Make arguments内加入-j 电脑CPU的核数 这就是相当于写好Makefile文件,在命令使用make -j CPU核数是一样的
QT——绘图事件、鼠标事件、QPainter、键盘事件、光标样式、登录框密码回显模式、移除字符串前后的空白、对话框accept()
1、void QWidget::paintEvent(QPaintEvent * event) [virtual protected] ========================================================
QT中QPainter的使用及矩形、圆形等常见图形的画法
#includeQApplication> #include QWidget>  #include QPainter>  class MyMainWindow:public QWidget {  public:   MyMainWindow(QWidget *parent = 0);  private:   void paintEvent(QPaintEvent*);  QPai
OSG嵌入Qt解决方案一
OSG与Qt结合,国内网站上的资料非常少,最有助于理解OSG的资料我可以推荐一下:王锐老师的《最长的一帧》 要想驾驭一个SDK,首先就得了解其工作原理。王老师那本电子书里面就介绍了一帧的画面,OSG所做的全部内容,几乎可以这么说:你如果弄明白了一帧中OSG所做的东西,你就几乎掌握了OSG的全部,因为OSG本来就是个<em>图形</em>渲染引擎,学好OSG,只需要搞清楚它一帧做的事情就足够了。 这里我来
使用Qt在内存中画图
使用Qt在内存中画图 对于大多数Qt应用,我们在QWidget的paintEvent方法中创建和构造一个QPainter画图,或者在QGLWidget中的paintGL使用OpenGL函数画图,这是最常见的使用方式,并且基本能够满足应用需求。但是这把画图操作限制在了某一个方法之中,考虑一个这样的场景:客户想生成某个字体的字符图片,并把这些图片保存起来。在这个应用场景下,完全没有必要创建一个GUI
Android中GPU硬件加速控制及其在2D图形绘制上的局限
<em>图形</em>的渲染可分为两种:软件渲染和硬件渲染。软件渲染是靠CPU计算各种坐标并绘制,主要是占用内存;硬件渲染是靠GPU,主要占用显存,一般的3D<em>图形</em>程序(OpenGL、DirectX)都是GPU加速的。在Android3.0之前,2D绘图API只支持软件渲染模式,从Android3.0开始,2D绘图API开始支持GPU硬件渲染,即View中的Canvas的绘图操作会使用GPU,所以从Android 3.
QGLWidget的更新机制
Qt的OpenGL接口实际上是实现了glut中与opengl人机交互的功能,很多方法和glut重叠。 glut使用glutMainLoop调用glutDisplayFunc指定的显示函数实现更新 Qt中需要用QTimer类实现更新,具体做法是: 1.写一个类继承QGLWidget,在构造函数中启动QObject::startTimer(int interval)起动计时器 2.重载虚函数v
利用QPainter绘制各种图形
利用QPainter绘制各种<em>图形</em>Qt的二维<em>图形</em>引擎是基于QPainter类的。QPainter既可以绘制几何形状(点、线、矩形、椭圆、弧形、弦形、饼状图、多边形和贝塞尔曲线),也可以绘制像素映射、图像和文字。此外,QPainter还支持一些高级特性,例如反走样(针对文字和<em>图形</em>边缘)、像素混合、渐变填充和矢量路径等。QPainter也支持线性变换,例如平移、旋转、错切和缩放。
QPainter绘制图形
1.利用QPainter绘制<em>图形</em>           QPainter类还提供了一个drawPixmap()函数,可以直接将图片画到刻画控件中。 2.利用QPainter绘制简单<em>图形</em>
Qt涂鸦板及其放大简例
简单的涂鸦板: 1.我们再在程序中添加函数。 我们在dialog.h里的public中再添加鼠标移动事件和鼠标释放事件的函数声明: void mouseMoveEvent(QMouseEvent *); void mouseReleaseEvent(QMouseEvent *); 在private中添加变量声明: QPixmap pix; QPoint lastPoint; QPo
QWidget 之paint部分杂记
Qt 4.0 automatically double-buffers Qt 4.1 QWidget::autoFillBackground Qt 4.2 delayed widget
QT使用QPainter绘图
QT使用QPainter绘图,只能在painEvent中绘图 void MainWindow::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); painter.setPen(QPen(Qt::black
QT中用QPainter类所画图像随窗口变化自适应变化
Qpainter类是QT中的一个画图类。该类是用画笔在窗口上直接绘制图像。通常情况下,图像的位置和大小在画图完成后就是定死的了。在实际应用中我们有时需要该图像随着窗口的拖动、最大化等操作下进行自适应变化。下面提出两种可以使所画图像可以随窗口自适应变化的方法。 第一种方法,用Qpainter类中的scale函数。代码如下: QPainter painter(this); static dou
【Qt OpenGL教程】17:2D图像文字
这次教程中,我们将学会如何使用四边形纹理贴图把文字显示在屏幕上。我们将把256个不同的文字从一个256×256的纹理图像中一个个提取出来,接着创建一个输出函数来创建任意我们希望的文字。
Qt重绘之update,repaint详解(转)
  Qt里面的重绘和Windows编程里面的重绘差不多。但是Qt的重绘更有特色,更加智能。 在讲之前,先说说paintEvent() paintEvent()是一个虚函数槽(slot),子类可以对父类的paintEvent进行重写。当调用 update(),repaint()的时候,paintEvent()会被调用,另外,当界面有任何改变的时候,paintEvent
QT 反走样 使画图光滑
今天继续前面的内容。既然已经进入2D绘图部分,那么就先继续研究一下有关QPainter的东西吧!   反走样是<em>图形</em>学中的重要概念,用以防止“锯齿”现象的出现。很多系统的绘图API里面都会内置了反走样的算法,不过默认一般都是关闭的,Qt也不例外。下面我们来看看代码。这段代码仅仅给出了paintEvent函数,相信你可以很轻松地替换掉前面章节中的相关代码。   void P
QOpenGLWidget空白不显示绘图内容
在做一个简单的基于Qt的OpenGL绘图的时候,发现通过调用Qt自带类QOpenGLWidget时,只显示背景颜色,不显示绘制的内容。 最初的代码如下: 头文件#ifndef MYOPENGLWIDGET_H #define MYOPENGLWIDGET_H#include #include class myOpenglWid
Qt Quick实现的涂鸦程序
实现自己的Qt Quick元素,使用QPainter绘图……
QT画图教程5:QT中QPainter的使用及矩形、圆形等常见图形的画法
#includeQApplication> #include QWidget>  #include QPainter>  class MyMainWindow:public QWidget {  public:   MyMainWindow(QWidget *parent = 0);  private:   void paintEvent(QPaintEvent*);  QPai
QPainter绘制 保存图片
先设置pixmap,在把painter 设置汇在 pixmap 上,然后更新painter 代码 : QPainter p; QPixmap map(outLine.width(), outLine.height()); map.fill(Qt::transparent); p.begin(&map); text->drawOnPath(p, path)
具有GPU硬件加速功能的Android图形用户界面
<em>图形</em>是Android平台的一大主题,包含java / jni<em>图形</em>框架和2D / 3D<em>图形</em>引擎(skia,OpenGL-ES,renderscript)。本文档介绍飞思卡尔器件上的一般Android<em>图形</em>堆栈和UI功能。 1. Android<em>图形</em>堆栈所有Android 3D应用和游戏都有以下<em>图形</em>堆栈:Android系统用户界面和所有应用程序用户界面遵循如下的2D<em>图形</em>堆栈,硬件渲染将通过GPU硬件Ope...
Qt实用技巧:QPainterPath绘图路径(多次画同样的图形集合)
原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址: 需求         根据配置文件,可不改变程序只调整配置文件可调整主页面上的字符串。 原理         1.读取文件,固定格式(文件在本文章中省略)         2.写一串字符,使用QPainterPath         3.注意QPainter的时候
Qt 反走样(抗锯齿)
转载自:http://blog.chinaunix.net/uid-24219701-id-4044333.html反走样是<em>图形</em>学中的重要概念,用以防止通常所说的“锯齿”现象的出现。很多系统的绘图 API 里面都内置了有关反走样的算法,不过由于性能问题,默认一般是关闭的,Qt 也不例外。//QPainter::Antialiasing 告诉绘图引擎应该在可能的情况下进行边的反锯齿
Qt实现金字塔图(3D和2D)
利用QPainter实现金字塔图,2D和3D效果。如下: 核心代码如下 头文件#ifndef CPYRAMIDDLG_H #define CPYRAMIDDLG_H#include #include enum PyramidStyle { DefaultPyramid=0, ShadingPyramid, ShapePyr
图形加速软件实现(bitblt软实现)
一、概念及本质 嵌入式下<em>图形</em>加速的概念,详见http://blog.csdn.net/jianchenglee/article/details/12621347 1)其中重要的一步操作就是bitblit:拷贝源<em>图形</em>中的某一块<em>图形</em>区域到目标<em>图形</em>的某一块<em>图形</em>区域(其中可能涉及到拉伸、混合等操作)。 其执行的操作如图所示: 2)本质就是内存的二维操作,由于普通内存都是一维,进行二维操作(涉及
Qt 之图形(组合)
简述使用QPainter绘制<em>图形</em>或者图像时,在重叠区域使用组合模式(Composition_mode)。在绘图设备上通过组合模式使用QImage时,必须使用Format_ARGB32_Premultiplied和Format_ARGB32格式之一。简述 效果 源码效果 源码... painter.drawImage(0, 0, destinationImage); painter.setCompo
Android Skia和2D图形系统
Android Skia 和 2D <em>图形</em>系统 1 Skia 概述 Skia 是 Google 一个底层的<em>图形</em>、图像、动画、 SVG 、文本等多方面的<em>图形</em>库,是 Android 中<em>图形</em>系统的引擎。 Skia 作为第三方软件放在 external 目录下: external/skia/ 。 Skia 的结构如下图所示:          
Qt 之图形(QPainter 的基本绘图)
Qt 中提供了强大的 2D 绘图系统,可以使用相同的 API 在屏幕和绘图设备上进行绘制,它主要基于QPainter、QPaintDevice 和 QPaintEngine 这三个类。 - QPainter 用于执行绘图操作,其提供的 API 在 GUI 或 QImage、QOpenGLPaintDevice、QWidget 和QPaintDevice 显示<em>图形</em>(线、形状、渐变等)、文本和图像。
Android图形显示系统——上层显示2:硬件加速实现
Android界面绘制的<em>硬件加速</em>实现Android的界面绘制的<em>硬件加速</em>采取上下整合的一套流程实现一、代码结构(一)JavaHardwareRenderer->ThreadedRenderer:组织<em>硬件加速</em>渲染的类,下发创建显示列表和回放的指令。 GLES20RecordngCanvas GLES20Canvas HardWareCanvas:与Canvas平级的UI渲染引擎支持,但这个Canvas
Qt5 图像打印
解释: (1)、打印图像实际上是在一个QPaintDevice中画图,与平常在QWidget、QPixmap和QImage中画图相同,都是创建一个QPainter对象进行画图,只是打印使用的是QPrinter,QPrinte本质上也会一个绘图设备QPaintDevice。 (2)、Qpainter painter(Qprinter):创建一个QPainter对象,并指定绘图设备为一个QPr
Qt 2D绘图(4):填充原理
Qt 2D绘图(4):填充原理 若对C++语法不熟悉,建议参阅《C++语法详解》一书,电子工业出版社出版,该书语法示例短小精悍,对查阅C++知识点相当方便,并对语法原理进行了透彻、深入详细的讲解,可确保读者彻底弄懂C++的原理,彻底解惑C++,使其知其然更知其所以然。此书是一本全面了解C++不可多得的案头必备图书。 需要使用到的QPainter类中的函数原型如表12-17所示 当绘制封闭的形状...
在QT设计界面中加入QGLWidget
class AQSystem1 : public QMainWindow { Q_OBJECT public: AQSystem1(QWidget *parent = 0); ~AQSystem1(); private: Ui::AQSystem1Class ui; ChinaMap *a; }; AQSystem1::AQSyste
qt之双缓冲绘图
转载自:https://wizardforcel.gitbooks.io/<em>qt</em>-beginning/content/22.html 导语 在前面一节中,讲述了如何实现简单的涂鸦板,这一次我们将实现在涂鸦板上绘制<em>图形</em>,这里以矩形为例进行讲解。在后面还会提出双缓冲绘图的概念。 环境:Windows Xp + Qt 4.8.4+QtCreator 2.6.2 目录 一、绘制矩形二、双缓
QT基础(三)----QPainter画图功能 & 画图小项目
一 QPainter基础功能介绍 头文件mywidget.h #ifndef MYWIDGET_H #define MYWIDGET_H #include #include class Mywidget : public QWidget { Q_OBJECT public: explicit Mywidget(QWidget *parent = 0);
Qt---用QPainter画一个3D的正方体
闲的蛋疼 My3DBox .h#include using namespace Eigen;#define SQUARE_LENGTH 200//是一个边长200的正方体 #define CAMERA_DISTANCE 300//视点距离class My3DBox : public QWidget { Q_OBJECT public: expl
QT中双缓冲加速绘制
QT中的绘制都是在函数paintEvent(QPaintEvent *event)中绘制的,而且必须在这个函数下面绘制。 绘制简单的<em>图形</em>的时候效率还是不错的,但是一旦绘制的内容比较多的时候,绘制的时候就是有些卡顿了。 有的同学就是说,可以使用线程的方式,多开一个线程就可以了,但是大家不要忘了,任何绘制的过程都是在paintEvent(QPaintEvent *event) 这个函数中实现的,...
GPU硬件加速概念
在不少人的心目中,显卡最大的用途可能就只有两点——玩游戏、看电影,除此之外,GPU并没有其他的作用了。但是随着微软IE9的正式发布,不少人突然发现,微软一直提到一个名词:GPU<em>硬件加速</em>,从而也让不少人开始关注GPU<em>硬件加速</em>。那么GPU<em>硬件加速</em>到底是什么?能干些什么呢?下面让我们一起走进GPU<em>硬件加速</em>的世界去看看吧。 GPU<em>硬件加速</em>就是显卡辅助CPU进行<em>图形</em>运算 要说起GPU<em>硬件加速</em>,我们首先要
怎样解决头文件中找不到QGLWidget
在Qt工程下面的.Pro文件中添加QT+= opengl 语句,可是并没有解决我的问题,可能是我没有找对文件吧。 但是我发现另外一种方法着实有效。 那就是把#includ改成#includ
Qt5基础图形绘制小项目---PaintArea类
      通过本例,介绍各种<em>图形</em>的区分,以及画笔颜色,画笔宽度,画笔线宽,画笔风格,画笔顶帽,画笔连接点,填充模式,铺展效果,画刷风格设置。效果如下       思路:       主要分为两部分:用于绘图的区域PaintArea类主窗口MainWidget类        ...
QT学习一之画板制作(解决绘画卡顿)
    hello,大家好。    本人学习了一段时间的Qt,今天在公司电视大屏有个画板工具功能,灵机一动制作一个简易的画板程序。    本文主要介绍如何采用QWidget,QPainter制作画板。    画板功能:全屏无边框画板,支持手绘,右键(偷懒= -0- =)擦除。    开发工具:Qt5.9.5 Vs2015       (没用到什么高级功能,其他版本的也应该支持- 0 -)    程...
QT二维图形的绘制(类的介绍与绘图实例)
Qpainter类的介绍 1.告诉绘制引擎一些东西 2.绘制函数 3.风格 4.绘图前的准备 5.具体的实例
OSG嵌入Qt的第二种方式:使用QOpenGLWidget/QGLWidget
几天前有朋友问OSG嵌入Qt的思路。我说整体思路就是用OpenGL的方式来进行OSG的绘制,而正好Qt已经整合了OpenGL的功能,我们可以以此为依托来进行OSG的渲染绘制工作。而在Qt中却有QWidget和QGraphicsView两种不同的体系框架,于是我们也就有了两种不同的嵌入方式,关于QGraphicsView的嵌入方式我前面的博客OSGEarth嵌入Qt的QGraphicsView框架已经
Qt 之图形(渐变填充)
QGradient 可以和 QBrush 组合使用,来指定渐变填充。 Qt 目前支持三种类型的渐变填充: - QLinearGradient:显示从起点到终点的渐变 - QRadialGradient:以圆心为中心显示渐变 - QConicalGradient:围绕一个中心点显示渐变 渐变类型可以使用 type() 函数来检索,类型中的每一个都是 QGradient 的子类。
qt中如果使用svg格式的图片在QPainter中绘制图形
在昨天,突然想到重构项目中的代码,然后就想用qvg格式的图片代替以前的IMAGE图片,这样就可以解决缩放有锯齿的问题。 然后就在网上搜索了很多方法,但是都没有看懂是怎么搞得,然后在公司其他大牛的帮助下,终于解决了这个问题。 下面就总结下如何绘制的。 要使用的svg图片格式,使用的类是QSvgRender类。 具体使用如下:  QSvgRenderer m_svgRen
简单的QT绘图程序(把全部的点都记录下来,然后在paintEvent里使用drawLine函数进行绘制,貌似效率很低。。。)
转载自:http://blog.csdn.net/jarvischu/article/details/6705127当初在学MFC时,最经典的入门实例就是绘图程序,其作用相当于Console Application 下的Hello World了吧。如今入手QT,不免怀旧,于是也写了一个绘图程序,虽然简单,却也是入门必备啊。环境OS : Ubuntu 11.04IDE :Qt Creator 2.2.
Qt 之图形(绘制漂亮的圆弧)
简述综合前面对二维绘图的介绍,想必我们对一些基本绘图有了深入的了解,下面我们来一起实现一些经典的入行绘制。简述 圆形 效果 源码 弧形 效果 源码 文本 效果 源码 旋转 效果 源码圆形下面我们实现一个转盘效果。效果源码void MainWindow::paintEvent(QPaintEvent *) { QPainter painter(this); painter.setRen
利用QPainter基本函数+rotate/translate绘制旋转图形的方法
通常利用QPainter的drawXXX函数绘制的<em>图形</em>都是不带旋转的,而QPainter的rotate函数解释如下: void QPainter::rotate(qrealangle) Rotates the coordinate system clockwise. The givenangle parameter is in degrees     即:顺时针旋转坐标系。给定的angl
非OpenGL版本的Qt使用QGLWidget构建OPenGL应用须知与编译错误解决方法
我们知道可以使用openGL版本的Qt(如Qt5.4.2),通过继承QGLWidget的方式来创建OPenGL应用。我个人觉得这种方式更符合openGL窗体的开发模式(csgl, android(openglES) 就是这么做的): 初始化GL ==》窗体大小改变处理 ==》绘制 Qt的版本更新很快,我最近有个想法就是让上述方式开发的OPenGL应用也可以在新版本Qt(如5.8.0)编译成...
Qt 2D绘图(6):QPixmap类及蒙版原理
Qt 2D绘图(6):QPixmap类及蒙版原理 若对C++语法不熟悉,建议参阅《C++语法详解》一书,电子工业出版社出版,该书语法示例短小精悍,对查阅C++知识点相当方便,并对语法原理进行了透彻、深入详细的讲解,可确保读者彻底弄懂C++的原理,彻底解惑C++,使其知其然更知其所以然。此书是一本全面了解C++不可多得的案头必备图书。 12.13.4 QPixmap类中的成员函数 QPixmap默认...
如何使用QT的QPainter绘图和实时刷新?
如何使用QT的QPainter绘图和实时刷新? 2011-06-24 本文行家:_张_巍_ Qt是个很不错的GUI,现在已经更新到4.7了。最近的项目中用到了它,需要实时的显示一个画面,这就需要定期的刷新画面,本文章记录了使用QPainter类绘制<em>图形</em>的步骤,供参考。 Qt是个很不错的GUI,现在已经更新到4.7了。最近的项目中用到了它,需要实时的显示一个画面,这就需
OpenGL硬件加速指南
OpenGLRenderer.cpp位于Framewoks/base/libs/hwui中   1.构造函数:   OpenGLRenderer::OpenGLRenderer(): mCaches(Caches::getInstance()) { mShader = NULL; mColorFilter = NULL; mHasShadow = false;
Qt基类之QWidget
QWidget类参考 QWidget类是所有用户界面对象的基类。 详情请见…… #include qwidget.h> 继承QObject和QPaintDevice。 被QButton、QFrame、QDialog、QComboBox、QDataBrowser、QDataView、QDateTimeEdit、QDesktopWidget、QDial、QDockArea、QGLWid
【转】 Qt绘图,显示图片图像,平移,缩放,旋转和扭曲图片的方法 声明:本
声明:本文原创于yafeilinux的百度博客,http://hi.baidu.com/yafeilinux 转载请注明出处。 现在我们来实现在窗口上显示图片,并学习怎样将图片进行平移,缩放,旋转和扭曲。这里我们是利用QPixmap类来实现图片显示的。 一、利用QPixmap显示图片。 1.将以前的工程文件夹进行复制备份,我们这里将工程文件夹改名为painter05。(以前已经说
QT 画图实践(1)--坐标变换
转载注明出处:http://devbean.blog.51cto.com/448512/239585
qt反锯齿操作
QPainter::Antialiasing 告诉绘图引擎应该在可能的情况下进行边的反锯齿绘制 QPainter::TextAntialiasing 尽可能的情况下文字的反锯齿绘制 QPainter::SmoothPixmapTransform 使用平滑的pixmap变换算法(双线性插值算法),而不是近邻插值算法 painter.setRenderHint(Q...
Qt 画图工具擦除操作,恢复透明色
在以transparent填充的QPixmap上用红色画笔画出了线,现需要擦除部分红色,恢复出原来的透明色。 使用QPainter::CompositionMode 图像叠加模式 下图简单示意了10种模式: 在Qt的官方文档里我们也找到了具体模式的解释 Constant Value Description QPai...
2D游戏硬件加速引擎
最近因为要做游戏项目的需要,发现需要构造一个底层的游戏引擎,方便以后的持续开发。但如果重新开发一个肯定是十分耗时间,而且也不定写的很好,所以考虑还是找一些开源的引擎。考虑到项目大部分是2D的,而且还需要有<em>硬件加速</em>的特性。心中已经有一个选择了,就是HGE引擎,因为这个引擎已经发展了很久,支持的特性很丰富,而且还是<em>硬件加速</em>的。但可惜的是加速引擎是使用DX8的,影响了跨平台,因为做的游戏项目都要面...
Qt5 QtQuick2 QML和OpenGL混合编程完美解决源码
Qt5 QtQuick2 QML和OpenGL混合编程完美解决源码。在QQuickView中使用OpenGL绘制场景,使用QML在上层做Overlay。
Qt 在任意Label上面绘制图形
这只是一个可以在lable上面绘图的demo,需要用到该只是的朋友可以试一下,改良一下,我也是学习别人的东西,免费分享,评论就可以拿回拿一分了,不是么
Painter绘图和实时刷新
QPainter 一般在部件的绘图事件 paintEvent() 中进行绘制,窗口程序需要重新绘制时,使用 update() 后,调用函数paintEvent()。但是我在使用的时候发现,这样一开始就会绘制,不受自己控制,所以我改用定时器的方式,重构了PaintEvent,可完全根据自己需求来绘制图像
qt开发(二): graphic view放大导致text失真的完美解决办法
text变形其实本质是painter被加上scale之后,text也随之改变,解决办法是把这个scale找出来,让他只作用于坐标而不作用于text本身。 void Line::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){ pai
QGraphicsItem画空心图形
用QGraphicsItem类族画出的<em>图形</em>通常都是一个区域(实心的),比如画个圆或者画个矩形。那如果想画个矩形框或者圆形框呢?可以用如下方法,直接上代码 头文件 #include &amp;lt;QGraphicsScene&amp;gt; #include &amp;lt;QGraphicsRectItem&amp;gt; #include &amp;lt;QGraphicsPathItem&amp;gt; #include &amp;lt;Q...
QT使用GDI和OpenGL绘图,相比QPainter绘图降低CPU占用率
QPainter在高频绘画的使用CPU占用较高,我们用以下方法解决1、使用GDI绘图,GDI因为是使用GPU绘图,会减少CPU占用GDI在QT中的使用方法:因为QT都是通过repaint和update事件触发paintEvent绘图,其他绘图会被覆盖所以需要以下方法实现GDI绘图一、在需要绘图的Widget构造函数写setAttribute(Qt::WA_PaintOnScreen, true);...
【Qt OpenGL教程】02:你的第一个多边形
这次教程中,我们将添加一个三角形和一个四边形。或许你认为这很简单,但要知道任何复杂的绘图都是从简单开始的,或者说任何复杂的模型都是可以分解成简单的<em>图形</em>的。所以,我们还是从简单的<em>图形</em>开始吧。
【Qt OpenGL教程】04:旋转
这次教程中,我们将在第03课的基础上,教大家如何旋转三角形和四边形。我们将让三角形沿y轴旋转,四边形沿x轴旋转,最终我们能得到一个三角形和四边形自动旋转的场景。
最新版 TexturePacker-3.1.2 for mac 破解版下载
这个是最新版本的TexturePacker破解版,由网友破解,TexturePacker确实是一个很好用的图片工具, 直接安装即可,无需注册,for mac,测试过可用! 相关下载链接:[url=//download.csdn.net/download/morenine/6038829?utm_source=bbsseo]//download.csdn.net/download/morenine/6038829?utm_source=bbsseo[/url]
iOS 10.1-10.2 Xcode开发包下载
IOS新升级后,Xcode运行程序到真机报错,提示Could not find developer disk image,Xcode Device栏处的真机右侧显示“(unavailable)” 博客地址:http://blog.csdn.net/xieyupeng520/article/details/46755317 相关下载链接:[url=//download.csdn.net/download/xieyupeng520/9679360?utm_source=bbsseo]//download.csdn.net/download/xieyupeng520/9679360?utm_source=bbsseo[/url]
自己编的图书管理系统下载
本图书管理系统实现了图书馆借书,还书的大部分功能,希望对别人有帮助 相关下载链接:[url=//download.csdn.net/download/sxdtdx/2325768?utm_source=bbsseo]//download.csdn.net/download/sxdtdx/2325768?utm_source=bbsseo[/url]
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 python+图形教程 qt物联网教程
我们是很有底线的