下面演示把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了。