这个命令行: QImage::QImage(uchar * data, int width, int height, int bytesPerLine, Format format) 会这样用吗?QImage image = new QImage (buffer, 600, 400, jpg) bytesPerLine 不是他们的意思,照片会占用kb吗?谢谢
问问题
818 次
3 回答
2
如果您不想使用 bytesPerLine 参数,则有一个
QImage::QImage ( uchar * data, int width, int height, Format format )
构造函数。
然而,格式并不是你想象的那样。该format
参数指定了一个枚举值,它决定了位深度等。即输入jpg
或"jpg"
那里将不起作用。检查Format-enum以获取可能值的列表。
于 2011-09-26T10:47:03.950 回答
0
这就是你将如何使用这个构造函数:
int imageWidth = 800;
int imageHeight = 600;
int bytesPerPixel = 4; // 4 for RGBA, 3 for RGB
int format = QImage::Format_ARGB32; // this is the pixel format - check Qimage::Format enum type for more options
QImage image(yourData, imageWidth, imageHeight, imageWidth * bytesPerPixel, format);
您不指定图像格式(png、jpeg 等),而是指定像素格式(RGB、RGBA 等)
于 2011-09-26T10:52:58.440 回答