Доброго времени суток, коллеги,
Был бы очень признателен, если бы помогли справиться со следующей проблемой. Есть 24-битное изображение в формате bmp, которое читается отдельным протестированным классом, заточенным под чтение/обработку/запись 24-битных bmp-изображений. Этот класс предоставляет доступ как к отдельному пикселю, так и к массиву всех пикселей данной функцией:
| Код | const unsigned char* data() { return data_; }
|
Прошло какое-то время и захотелось добавить к чудо-программе графический интерфейс на Qt и показывать изображения на форме. Для этой цели на форму добавляется QLabel в котором успешно рисуется QImage, который предварительно прочитал изображение из файла. А вот с загрузкой изображения из массива unsigned char ничего хорошего не получается. Этот код либо рисует изображение с неправильными цветами, а в случае небольших изображений, например, 70х70 отображается нечто невообразимое, совершенно не похожее на картинку.
Заодно вопрос, как можно сжать/растянуть изображение до размеров QLabel. Почему-то такое не помогает:
| Код | QPixmap pixmap = QPixmap::fromImage(img); pixmap.scaled(label.width(), label.height(), Qt::KeepAspectRatio);
|
Заранее спасибо за помощь и советы! |