c++ - 无法正确使用加载的图像数据

标签 c++ qt qimage

我从原始数据加载图像并在加载时使用 QImage::Format_MonoLSB 格式。我尝试写入一个文件,我得到了黑白单色格式的图像。没关系。

以彩色格式从中获取图像的方法是什么?例如:如果我想将 While 部分着色为特定颜色,我该怎么做?

我尝试使用 QImage::Format_ARGB32_Premultiplied 创建一个 QImage,并使用 painter 来使用钢笔/画笔绘制从上方获得的图像。但这似乎不起作用。我怀疑格式之间存在兼容性问题。

   colorImage = QImage(QRect(0, 0, w, h), QImage::Format_ARGB32_Premultiplied);
   _painter.begin(&blockImage);
   _painter.setPen(Qt::blue);
   _painter.drawImage(QRect(0, 0, w, h), blockImage, aboveImage);
   _painter.end();

我尝试更改加载代码以使用颜色格式(Format_ARGB32_Premultiplied),但它似乎也不起作用。输出中没有图像。

最佳答案

您正在 blockImage 上绘制 blockImage。我认为您想改为在 colorImage 上绘画:_painter.begin(&colorImage);

无论如何,我会使用 QImage::convertToFormat并改为传入颜色表。

关于c++ - 无法正确使用加载的图像数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25974671/

相关文章:

Qt 如何使用 x() 和 y() 位置在小部件上查找对象

c++ - 如何以 "functional"编程风格显示 QImage

python - PyQt4 - 图像水印

c++ - 如何正确地将 u8 字符串文字传递给接受 UTF-8 字符串的 C 函数

C++11 参数包重载

c++ - 将模板类的对象作为需要基模板类的函数参数传递

c++ - 如何控制QGridLayout中应该在GUI中绘制的Widgets?

c++ - 使用 QTimer、QThread 和进度条

c++ - 加载图像大约 500 次后,此错误显示在 visual studio QImage : out of memory, returning null image

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