问题标签 [qimage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2598 浏览

python - python convert IplImage to Qimage

I am trying to process some videos using openCV and then put it inside pyqt Qimage...

I saw some examples to do that but they are all in C++ and I can understand python only,

Can anyone help me please ... thank you

0 投票
1 回答
2448 浏览

qt - 没有平铺的 QBrush 纹理

使用带有纹理的 QBrush 时,有没有一种简单的方法可以摆脱平铺?

假设我们有一个大小为 20x20 像素的 QImage 纹理。上面的代码将把这个纹理平铺在整个被填充的矩形上。有没有一种简单的方法可以只绘制这个纹理的一个实例?QBrush 的使用至关重要。

从理论上讲,我可以重新加载以 QBrush 作为输入的 QPainter 的每个填充和绘制方法,并使用

法,但我认为必须有一个更简单的方法。

谢谢,托尼。

0 投票
1 回答
699 浏览

c++ - 在 Qt Qimage 和 Boost Multi Array 之间正确复制数据

我想将数据从 Qt 图像复制到 Boost Multi Array,对 Multi Array 进行一些操作,然后将数据复制回 QImage 以显示。

我正在使用 访问原始数据Qimage::bits()并尝试使用 进行复制std::copy,并且似乎存在我不理解的数据对齐问题。这里有一个关于访问 32-bpp 图像数据的注释,但即使我将 QImage 转换为不同的格式,问题仍然存在。

我整理了一个片段来说明一个典型的问题。很可能有很多事情我做错了,所以请耐心等待。在这里,我试图将图像 2的上半部分复制到图像 1并获得此输出

我的 .pro 文件只包含SOURCES += main.cpp

非常感谢任何帮助。

0 投票
1 回答
1414 浏览

qt - 为什么这段代码会使 QImage 失去它的 alpha 通道?

我试图理解为什么下面的代码会改变 Qt 中的 QImage。它不打算做任何事情(还),它只是为了测试。当我在带有 alpha 的图像上运行代码时,alpha 通道会丢失并被黑色背景替换。

这是我注释掉该行时的结果image.setPixel(...)

在此处输入图像描述

这是该image.setPixel(...)行的结果:

在此处输入图像描述

我希望我的代码不会对图像进行任何更改。知道为什么要这样做吗?

0 投票
1 回答
698 浏览

qt - 带有自定义 QIODevice 实现的 QImageReader

我有一个自定义 QIODevice 可以解密来自另一个 QIODevice 的数据流(它可能是一个文件)。它用于加密和解密文件。有些文件是图像。然后 QImageReader 用于直接从加密流中加载图像,但在极少数情况下,QImageReader 无法从该流中读取图像。QImageReader 可以从未加密的文件中正确读取一张 PNG 图像。但是,当我的自定义 QIODevice 在 QFile 上分层并传递给 QImageReader 时,它会失败并打印

“libpng 错误:IDAT:CRC 错误”

我已经进行了一些深入的调试并跟踪了 QImageReader 将在我的 QIODevice 上调用的所有读取和查找,并将它们与未加密文件的 QFile 一起放置:

事实证明,从文件中读取的所有数据与来自流的数据完全相同......

为什么它会返回那个 libpng 错误?

0 投票
2 回答
3958 浏览

qt - 将 Qt QImage 传递给 glsl 纹理采样器

我正在使用 Qt 编写渲染引擎,但在纹理模型时遇到了问题

我有一个非常简单的着色器来测试纹理:顶点着色器:

和片段着色器:

我正确地将我的纹理坐标传递给着色器我的问题是绑定一个 QImage 并将其发送到它的纹理统一。

我正在使用以下代码来绑定纹理:

着色器有效,我可以将制服传递给矩阵并将属性传递给顶点和纹理坐标,但是当我尝试以同样的方式将制服发送到纹理时:

程序因 glGetError() 返回“无效枚举”而出现“访问冲突读取位置”错误而崩溃</p>

有趣的是,当我尝试运行程序而不尝试将纹理发送到采样器时,纹理实际上出现在模型上。这让我觉得我绑定它的方式与传统纹理处理有关,并且纹理被绑定到着色器正在拾取的特定纹理地址。这不是我想要的效果,因为我希望程序员能够在绘制时明确说明应该将什么纹理传递给制服(就像设置任何其他制服一样)

如何将纹理传递给它的采样器,绑定纹理时需要更改什么?

0 投票
4 回答
10466 浏览

qt - QImage/QPixmap 大小限制?

是否有任何已知的大小/空间限制QPixmap和/或QImage记录的对象?我没有找到任何有用的信息。我目前在 OSX 和 Windows 上使用 Qt 4.7.3。我特别感兴趣:

  • 宽度/高度限制?
  • 限制取决于颜色格式?
  • 32/64位机器的区别?
  • 关于操作系统的区别?

我会天真地怀疑内存是唯一的限制,因此可以通过以下方式计算最大大小

宽度 x 高度 x byte_per_pixel

我假设有一个更详尽的经验法则;当您遇到 GB 尺寸时,32 位机器也可能存在寻址问题。

最后,我想存储多个大小约为 16000x16000 像素的 RGBA 图像,并在QGraphicsScene. 可用的工作站可以有很多 RAM,比如说 16GB。

tl;dr:你知道 QImage/QPixmap 的大小限制是多少,或者我在哪里可以找到这些信息?

编辑:我知道平铺方法,我对此很好。仍然很高兴知道上面描述的事情。

谢谢!

0 投票
1 回答
6710 浏览

c++ - 如何使用 Qt 从缓冲区加载图像?

因此键入:

这对我不起作用。

0 投票
2 回答
4401 浏览

c++ - 使用 QImage (qt) 生成文本图像

我正在尝试使用 QImage 从文本创建图像。

根据此处的文档:http: //doc.qt.io/qt-5/qimage.html#Format-enum

我们不能QImage::Format_Indexed8与 QImage 一起使用。我不能使用QImage::Format_MonoQImage::Format_MonoLSB由于它的低质量。

我的问题是:

  • 创建文本图像(批处理)以便我们能够以最小的文件大小获得体面的质量的最佳方法是什么?
  • 创建图像后,有什么方法可以通过 QT 进行图像压缩以减小文件大小?
0 投票
3 回答
818 浏览

qt - QImage定义

这个命令行: QImage::QImage(uchar * data, int width, int height, int bytesPerLine, Format format) 会这样用吗?QImage image = new QImage (buffer, 600, 400, jpg) bytesPerLine 不是他们的意思,照片会占用kb吗?谢谢