Определение QImage - PullRequest
       4

Определение QImage

0 голосов
/ 26 сентября 2011

эта командная строка: QImage :: QImage (uchar * data, int width, int height, int bytesPerLine, Format format) Будет ли это так?QImage image = new QImage (buffer, 600, 400, jpg), bytesPerLine не очень хорошо значат, фотография займет КБ?спасибо

Ответы [ 3 ]

2 голосов
/ 26 сентября 2011

Если вы не хотите использовать параметр bytesPerLine, есть

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

Конструктор.

Однако формат - это не то, что вы думаете. Параметр format указывает значение перечисления, которое определяет битовую глубину и т. Д. Т.е. ввод jpg или "jpg" не будет работать. Проверьте Format-enum для списка возможных значений.

0 голосов
/ 26 сентября 2011

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

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 и т. Д.)

0 голосов
/ 26 сентября 2011

Я постараюсь ответить как можно лучше, учитывая тот факт, что ваш вопрос мне очень неясен.

Из документации Qt :

bytesPerLine указывает количество байтов на строку (шаг)

Также учтите, что аргумент формата, который вы указали как jpg, должен быть задан как одно из значений перечисления здесь .

С наилучшими пожеланиями

...