0

这个命令行: QImage::QImage(uchar * data, int width, int height, int bytesPerLine, Format format) 会这样用吗?QImage image = new QImage (buffer, 600, 400, jpg) bytesPerLine 不是他们的意思,照片会占用kb吗?谢谢

4

3 回答 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

考虑到您的问题对我来说非常不清楚,我会尽力回答。

Qt 文档

bytesPerLine 指定每行的字节数(步幅)

还要考虑您指定为 jpg 的格式参数必须作为此处指定的枚举值之一给出。

此致

于 2011-09-26T09:57:22.163 回答
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 回答