На этом шаге мы приведем общие сведения по работе с изображениями.
Библиотека PyQt включает несколько классов, позволяющих работать с растровыми изображениями в контекстно-зависимом (классы QPixmap и QBitmap) и контекстно-независимом (класс QImage) представлениях.
Получить список форматов, которые можно загрузить, позволяет статический метод supportedImageFormats() класса QImageReader, возвращающий список с экземплярами класса QByteArray. Получим список поддерживаемых форматов для чтения:
for i in QtGui.QImageReader.supportedImageFormats(): print(str(i, "ascii").upper(), end=" ")
Результат выполнения:
BMP CUR DDS GIF ICNS ICO JP2 JPEG JPG MNG PBM
PGM PNG PPM SVG SVGZ TGA TIF TIFF WEBP XBM XPM
Получить список форматов, в которых можно сохранить изображение, позволяет статический метод supportedImageFormats() класса QImageWriter, возвращающий список с экземплярами класса QByteArray. Получим список поддерживаемых форматов для записи:
for i in QtGui.QImageWriter.supportedImageFormats(): print(str(i, "ascii").upper(), end=" ")
Результат выполнения:
BMP CUR DDS ICNS ICO JP2 JPEG JPG PBM
PGM PNG PPM TIF TIFF WEBP XBM XPM
Обратите внимание, что мы можем загрузить изображение в формате GIF, но не имеем возможности сохранить изображение в этом формате, поскольку алгоритм сжатия, используемый в нем, защищен патентом.
На следующем шаге мы рассмотрим класс QPixmap.