gpt4 book ai didi

qt - 原始数据到 QImage

转载 作者:行者123 更新时间:2023-12-04 10:53:40 35 4
gpt4 key购买 nike

我是图形编程的新手(像素、图像等)
我正在尝试将原始数据转换为 QImage 并将其显示在 QLabel 上。问题是,原始数据可以是任何数据(它实际上不是图像原始数据,而是二进制文件。)
原因是,为了深入了解像素和类似的东西是如何工作的,我知道我会得到带有奇怪结果的随机图像,但它会起作用。
我正在做这样的事情,但我认为我做错了!

QImage *img = new QImage(640, 480, QImage::Format_RGB16); //640,480 size picture.
//here I'm trying to fill newly created QImage with random pixels and display it.
for(int i = 0; i < 640; i++)
{
for(int u = 0; u < 480; u++)
{
img->setPixel(i, u, rawData[i]);
}
}
ui->label->setPixmap(QPixmap::fromImage(*img));

我做对了吗?顺便问一下,你能指出我应该在哪里学习这些东西吗?谢谢!

最佳答案

总体来说是对的。 QImage是一个允许直接操作自己的数据的类,但你应该使用正确的像素格式。

一个更有效的例子:

QImage* img = new QImage(640, 480, QImage::Format_RGB16);
for (int y = 0; y < img->height(); y++)
{
memcpy(img->scanLine(y), rawData[y], img->bytesPerLine());
}

哪里 rawData是一个二维数组。

关于qt - 原始数据到 QImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14563180/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com