将QImage转换为HImage的方法

下面演示把QImage转换为HImage的方法。

首先写一个generateHImage的方法。这个函数使用一个uchar *作为数据源, 在全局作用域内生成一个HImage图片。

HImage himage;

void generateHImage(uchar* data,  const int pixWidth, const int pixHeight)
{
    hImage.GenImageInterleaved(data, "bgrx", width, height, 0, "byte", width, height, 0, 0, 8, 0);
}

注意,如果uchar* data这个参数来自于QImage,那么GenImageInterleaved这个Operator的第二个参数必须要是bgrx。如果写rgbx,会造成通道顺序错乱。

void function()
{
  //...
  QImage qImage("Hello.bmp");
  generateHImage(qImage.bits());
  //...
}

这样,就可以把QImage转换为HImage了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容