Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Qt获取BMP中每个像素的RGB值?_Qt_Bmp_Compression - Fatal编程技术网

如何使用Qt获取BMP中每个像素的RGB值?

如何使用Qt获取BMP中每个像素的RGB值?,qt,bmp,compression,Qt,Bmp,Compression,我需要写一个简单的程序,可以打开任何BMP文件,使用RLE压缩,保存结果,再次打开它,并解压缩文件到正常的BMP。 问题是我不知道如何获得RGB组件的文件。BMP标准有很多版本。 我知道如何在Qt中打开它,如何创建,以及如何加载到widget中,但是我找不到一种方法来读取一个bytearray中的文件信息和标题,以及另一个bytearray中的RGB值。Qt中是否有一些方法可以这样做?将为您加载图像。BMP是其中一种。您不应该关心使用的BMP标准,因为Qt在内部处理它 您可以使用QImage的方

我需要写一个简单的程序,可以打开任何BMP文件,使用RLE压缩,保存结果,再次打开它,并解压缩文件到正常的BMP。 问题是我不知道如何获得RGB组件的文件。BMP标准有很多版本。 我知道如何在Qt中打开它,如何创建,以及如何加载到widget中,但是我找不到一种方法来读取一个bytearray中的文件信息和标题,以及另一个bytearray中的RGB值。Qt中是否有一些方法可以这样做?

将为您加载图像。BMP是其中一种。您不应该关心使用的BMP标准,因为
Qt
在内部处理它

您可以使用
QImage
的方法访问任何像素的RGB值

QImage image;
image.load("myimage.bmp");
QVector<QRgb> imageRGBValues;

for (unsigned i=0; i<image.width(); ++i)
{
   for (unsigned j=0; j<image.height(); ++j)
      imageRGBValues.push_back(image.pixel(i,j));
}
QImage图像;
image.load(“myimage.bmp”);
QVector图像RGB值;
for(unsigned i=0;i将为您加载图像。BMP是其中之一。您不应该关心使用的BMP标准,因为
Qt
在内部处理它

您可以使用
QImage
的方法访问任何像素的RGB值

QImage image;
image.load("myimage.bmp");
QVector<QRgb> imageRGBValues;

for (unsigned i=0; i<image.width(); ++i)
{
   for (unsigned j=0; j<image.height(); ++j)
      imageRGBValues.push_back(image.pixel(i,j));
}
QImage图像;
image.load(“myimage.bmp”);
QVector图像RGB值;
for(无符号i=0;i