问题标签 [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 投票
1 回答
689 浏览

image - 具有 16 位显示的设备上的 32 位 png 图像

有谁知道如何将 32 位图像转换为在具有 16 位显示的设备上显示?

我试图用 Qt QImage 创建一个 24 位图像 - QImage QImage::convertToFormat

并保存结果图像,但我得到的图像也是 32 位的(我在输出图像的属性中看到了这个数据 - 位深度)

0 投票
2 回答
1564 浏览

qt - 如何将 QImage 裁剪到其不透明区域?

如果我有一个带有 alpha 通道的 QImage,如何创建一个新的 QImage,它被裁剪到不透明区域的边界框?

0 投票
1 回答
1876 浏览

qt - 图像原始数据 Ros 和 Qt

我在 Gazebo 中有一个模拟,我在其中发布了一个包含原始图像数据的图像原始数据主题。现在我想将 qt 中的数据显示为视频。我不确定我应该使用什么作为视频小部件。我的想法是制作一个 graphicsScene 并将数据显示为 QImage 但数据频率很高,并且以该频率将其加载到 QImage 在我看来并不是一个好方法。期待最佳建议。

谢谢。

(ps 我正在使用带有 qt4.x 和 Ros Electric 的 linux 10.04)

0 投票
2 回答
2215 浏览

qt - QImage Rotation 不会丢失信息

我有一个 GIF 格式的 12x12 大小的 QImage。我想以非常高的频率将它旋转到某个角度。我的应用程序涉及一个机器人,所以当它改变它的方向(它经常这样做)时,我在模拟中的 QImage 也应该旋转,但它会导致信息丢失。我正在做类似下面的事情。

我需要建议这种方法有什么问题,其次,对于所需的应用程序还有其他最佳方法吗?谢谢

0 投票
2 回答
1233 浏览

c++ - 将二进制数据从 Qt/C++ DLL 传递到 Delphi 主机应用程序

在我想在 Delphi 中使用 QImage.bits() 的程序中。因此,在 Qt 中,我创建了一个 dll。下面列出的dll源代码:

测试.h:

测试.cpp:

在 Delphi 端,我使用此代码来使用 Qt dll:

当我调用 dll 函数时没有返回任何数据!你能帮助我吗?

更新 1: 在实际情况下,我的 Qt 函数非常复杂,由于多种原因,我无法在 Delphi 中编写它。事实上,原始函数从设备中获取屏幕截图并在主内存中处理它。因此,我想将此图像字节发送到 Delphi,以便在 TImage 上显示它,而不将它保存在硬盘和类似的内存上。在本主题中,我刚刚创建了一个简单的类似函数,用于简单的调试和可测试性。是否可以通过为这个问题编写一个真正简单的代码来帮助我?非常感谢你。(-_-)

0 投票
4 回答
26041 浏览

c++ - QT QImage,如何提取RGB?

我想从 QImage 中的每个像素中提取 RGB。理想情况下,我想使用 img.bits() 函数。

如何操作返回的位?我希望全是红色,因为图片是在 Paint 中创建的纯红色图像。但是,我得到 36、27、237、255、36 等...

0 投票
3 回答
4734 浏览

c++ - 将 QImage 分成更小的部分

我有一张图片,我想把这张图片分成 n 块。所以我想知道我怎么能用 QImage 做到这一点?或者这个任务有更好的(性能方面)Qt 类吗?

例如,假设我有一张由 1920x1080 像素组成的图像,我想将它分成 100 块,这意味着每块将由 192x108 像素组成。请注意,我不想创建缩放到 192x108 的同一块。每一块都是主画面的独特部分。

在此处输入图像描述

我附上了一张图片,让我的问题更清楚。该图像由 1920x1080 像素组成,每个用网格潜水的部分由 192x108 像素组成,我想将它们中的每一个都视为 QImage 对象,而不是将其实际分成 100 块。

有没有办法用 QImage 做到这一点?性能在这里很重要,因为我会分析每件作品,通常会有超过 1000 件作品。

感谢您的帮助!

编辑:这两种方法都可以完美运行,但是 alexisdm 的方法更复杂,级别更低,但速度更快。jmk 的方法更容易使用,但速度较慢。

感谢您的两个答案。

0 投票
1 回答
384 浏览

qt - 为什么我的 QPainter 实例仅在我使用特定的 .png 时才绘制?

我正在使用 Qt Creator 创建一个简单的“青蛙”类型游戏。我设法得到了一个可以使用 4 个方向键的播放器,以及一辆可以在屏幕上自行移动的汽车。我有单独的 Player、Car 和 Frogger 类。

Frogger 类在paintEvent中绘制图像:

但是我在尝试为汽车加载不同的图像时遇到了问题。如果我image.load("player.png");同时使用汽车和播放器构造函数,我可以看到汽车在屏幕上作为播放器图像移动,播放器根据我的键移动。

但是,如果我用其他任何东西替换图像(所有图像都在同一个文件夹中;我还尝试将其添加到“其他文件”下的 Qt Creator),例如“car.png”,它似乎不会出现。我尝试了其他图像,但这些图像也没有显示给播放器。关于为什么会发生这种情况的任何想法?我注释掉了我的autoMove()函数并且没有任何变化,所以我认为这与我如何实现我的动作无关。关于我可能遗漏的任何想法?

0 投票
2 回答
2116 浏览

qt - 如何在 Qt 中呈现自定义视频数据?

我从来没有做过 Qt 视频应用程序——这方面的新手。我有一个自定义视频文件格式可以使用 Qt 进行渲染。视频文件格式是 256 字节头,然后是像素数据,然后是 256 字节头,然后是像素数据,依此类推。标头包含宽度、像素高度、每像素字节数、帧速率等信息,像素数据采用拜耳 (GBRG) 格式。我可能必须在显示之前处理数据——比如转换为 RGB(还不确定)。我看到有很多与视频相关的课程,例如 QGL*、QMovie、QVideo* ... 不知道从哪里开始?我看过 mandelbrotwidget 示例,它看起来是一个不错的起点,但仍然需要一些建议。另外,我是否必须为拜耳模式编写 Qt Image 插件?

谢谢你。

0 投票
2 回答
611 浏览

qt - QImage 的字节序是从 uchar[] 平台创建的吗?

QImage 有一个构造函数 QImage (uchar *data, int width, int height, int bytesPerLine, Format format),它从现有的内存缓冲区创建一个 QImage。

字节(uchars)的顺序是否取决于平台?如果我将 alpha、red、green 和 blue 的值放入其中并增加索引,则 alpha 与蓝色交换,红色与绿色交换。这表明字节序存在问题。

我现在想知道字节序是否依赖于平台。Qt 文档对此没有任何说明。

如果它不依赖于平台,我只会更改存储值的顺序:

如果它依赖于平台,我将创建一个 uint32 数组,存储计算为 alpha << 24 | 的值 红色 << 16 | 绿色 << 8 | 蓝色,并在将数组传递给 QImage() 构造函数之前 reinterpret_cast 数组。

此致,

延斯