Мне нужно работать с мозаичными изображениями в Qt. Что было бы быстрым способом преобразования между двумя объектами или иным образом с использованием изображения VIPS в методах QImage? Одним из решений было бы сохранить изображение VIPS как файл TIFF или любой другой формат изображения в Qt, а затем загрузить файлы как QImages. Мне пришлось бы делать это для 20+ плиток на лету, поэтому я не сохраняю изображения, так как файлы были бы достаточно быстрым процессом.
Быстрый способ использования изображения VIPS в качестве QImage
Ответы (1)
Вот крошечный (300 строк) пример программы:
https://github.com/jcupitt/vipsdisp-tiny
Это отображает результат конвейера libvips в окне. Он использует gtk+ и Cairo, но его легко адаптировать для QImage.
Это интересно, потому что это асинхронно. Конвейер libvips будет работать в наборе фоновых потоков, и тайлы будут прорисовываться по мере их вычисления. Он может отображать огромные изображения и сложные вычисления, а интерфейс остается отзывчивым.
Вот то же самое, но как чуть более полный просмотрщик изображений:
https://github.com/jcupitt/vipsdisp
С зумом и все такое. Опять же, он использует gtk3, но идеи должны легко переноситься на Qt. Нужно еще немного поработать, надо найти время.
person
jcupitt
schedule
17.08.2017
QImage
), вы можете использовать необработанные данные изображения VIPS вQImage
напрямую. Конечно, вы должны быть немного осторожны в отношении времени жизни экземпляров изображения. Недавно я написал ответ оQImage
и его данных: SO: создание ARGB QImage из массива uint32 или uchar, что может быть полезно. - person Scheff's Cat   schedule 17.08.2017