Как загрузить изображение из буфера с помощью Qt? - PullRequest
2 голосов
/ 20 сентября 2011

При этом наберите:

QBuffer* buffer = new QBuffer(this->Conex);
QImage* image = new QImage ();
image->loadFromData (buffer->buffer());

Это не работает для меня.

1 Ответ

5 голосов
/ 25 сентября 2011

Если буфер содержит необработанные данные пикселей, вы можете указать ширину, высоту и bpp, используя этот конструктор:

QImage::QImage ( uchar * data, int width, int height, int bytesPerLine, Format format )

Edit:

Вот как бы вы использовали этот конструктор:

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);
...