Spec-Zone.ru › Qt 5.9

Класс QPixmap

Класс QPixmap представляет собой изображение вне области экрана, которое может использоваться как устройство рисования. Подробнее...

Заголовок: #include <QPixmap>
qmake: QT += gui
Наследуется от: QPaintDevice
Наследует:

QBitmap

  • Список всех членов, включая унаследованные
  • Устаревшие члены

Открытые функции

QPixmap()
QPixmap(int width, int height)
QPixmap(const QSize &size)
QPixmap(const QString &fileName, const char *format = Q_NULLPTR, Qt::ImageConversionFlags flags = Qt::AutoColor)
QPixmap(const char * const[] xpm)
QPixmap(const QPixmap &pixmap)
~QPixmap()
(deprecated) QPixmap alphaChannel() const
qint64 cacheKey() const
bool convertFromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor)
QPixmap copy(const QRect &rectangle = QRect()) const
QPixmap copy(int x, int y, int width, int height) const
QBitmap createHeuristicMask(bool clipTight = true) const
QBitmap createMaskFromColor(const QColor &maskColor, Qt::MaskMode mode = Qt::MaskInColor) const
int depth() const
void detach()
qreal devicePixelRatio() const
void fill(const QColor &color = Qt::white)
bool hasAlpha() const
bool hasAlphaChannel() const
int height() const
bool isNull() const
bool isQBitmap() const
bool load(const QString &fileName, const char *format = Q_NULLPTR, Qt::ImageConversionFlags flags = Qt::AutoColor)
bool loadFromData(const uchar *data, uint len, const char *format = Q_NULLPTR, Qt::ImageConversionFlags flags = Qt::AutoColor)
bool loadFromData(const QByteArray &data, const char *format = Q_NULLPTR, Qt::ImageConversionFlags flags = Qt::AutoColor)
QBitmap mask() const
QRect rect() const
bool save(const QString &fileName, const char *format = Q_NULLPTR, int quality = -1) const
bool save(QIODevice *device, const char *format = Q_NULLPTR, int quality = -1) const
QPixmap scaled(const QSize &size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const
QPixmap scaled(int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const
QPixmap scaledToHeight(int height, Qt::TransformationMode mode = Qt::FastTransformation) const
QPixmap scaledToWidth(int width, Qt::TransformationMode mode = Qt::FastTransformation) const
void scroll(int dx, int dy, int x, int y, int width, int height, QRegion *exposed = Q_NULLPTR)
void scroll(int dx, int dy, const QRect &rect, QRegion *exposed = Q_NULLPTR)
(deprecated) void setAlphaChannel(const QPixmap &p)
void setDevicePixelRatio(qreal scaleFactor)
void setMask(const QBitmap &mask)
QSize size() const
void swap(QPixmap &other)
QImage toImage() const
QPixmap transformed(const QTransform &transform, Qt::TransformationMode mode = Qt::FastTransformation) const
QPixmap transformed(const QMatrix &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const
int width() const
operator QVariant() const
bool operator!() const
QPixmap & operator=(const QPixmap &pixmap)
QPixmap & operator=(QPixmap &&other)
  • 14 открытые функции, унаследованные от QPaintDevice

Статические открытые члены

int defaultDepth()
QPixmap fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor)
QPixmap fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor)
QPixmap fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags = Qt::AutoColor)
QTransform trueMatrix(const QTransform &matrix, int width, int height)
QMatrix trueMatrix(const QMatrix &m, int w, int h)

Связанные нечлены

QDataStream & operator<<(QDataStream &stream, const QPixmap &pixmap)
QDataStream & operator>>(QDataStream &stream, QPixmap &pixmap)

Дополнительные унаследованные члены

  • 1 защищённая функция, унаследованная от QPaintDevice

Подробное описание

Класс QPixmap — это представление внеэкранного изображения, которое может использоваться как устройство рисования.

Qt предоставляет четыре класса для работы с данными изображений: QImage, QPixmap, QBitmap и QPicture. QImage разработан и оптимизирован для ввода-вывода и прямого доступа и манипулирования пикселями, а QPixmap — для отображения изображений на экране. QBitmap — это просто вспомогательный класс, наследующий QPixmap, обеспечивая глубину 1. Функция isQBitmap() возвращает true, если объект QPixmap действительно является битовой картой, в противном случае возвращает false. Наконец, класс QPicture — это устройство рисования, которое записывает и воспроизводит команды QPainter.

QPixmap можно легко отобразить на экране с помощью QLabel или одного из подклассов QAbstractButton (например, QPushButton и QToolButton). QLabel имеет свойство pixmap, а QAbstractButton — свойство icon.

Объекты QPixmap могут передаваться по значению, поскольку класс QPixmap использует неявное совместное использование данных. Дополнительную информацию см. в документации по неявному совместному использованию данных. Объекты QPixmap также можно передавать по потокам.

Обратите внимание, что данные пикселей в pixmap являются внутренними и управляются основной системой окон. Поскольку QPixmap является подклассом QPaintDevice, QPainter может использоваться для непосредственного рисования на pixmap. К пикселям можно получить доступ только через функции QPainter или путем преобразования QPixmap в QImage. Однако функция fill() доступна для инициализации всего pixmap заданным цветом.

Существуют функции для преобразования между QImage и QPixmap. Как правило, класс QImage используется для загрузки файла изображения, необязательно манипулируя данными изображения, прежде чем объект QImage преобразуется в QPixmap для отображения на экране. В качестве альтернативы, если манипулирование не требуется, файл изображения можно загрузить непосредственно в QPixmap.

QPixmap предоставляет набор функций, которые могут использоваться для получения различных сведений об изображении. Кроме того, существуют несколько функций, которые позволяют преобразовывать pixmap.

Чтение и запись файлов изображений

QPixmap предоставляет несколько способов чтения файла изображения: файл можно загрузить при создании объекта QPixmap или с помощью функций load() или loadFromData() позже. При загрузке изображения имя файла может ссылаться на фактический файл на диске или на один из встроенных ресурсов приложения. См. обзор системы ресурсов Qt для получения подробной информации о том, как встраивать изображения и другие файлы ресурсов в исполняемый файл приложения.

Просто вызовите функцию save(), чтобы сохранить объект QPixmap.

Полный список поддерживаемых форматов файлов доступен через функции QImageReader::supportedImageFormats() и QImageWriter::supportedImageFormats(). Новые форматы файлов могут быть добавлены в виде плагинов. По умолчанию Qt поддерживает следующие форматы:

Формат Описание Поддержка Qt
BMP Windows Bitmap Чтение/запись
GIF Формат графической замены (необязательно) Чтение
JPG Joint Photographic Experts Group Чтение/запись
JPEG Joint Photographic Experts Group Чтение/запись
PNG Портативная сеть графики Чтение/запись
PBM Переносимая битовая карта Чтение
PGM Переносимая серая карта Чтение
PPM Переносимая пиксельная карта Чтение/запись
XBM X11 Bitmap Чтение/запись
XPM X11 Pixmap Чтение/запись

Информация об изображении

QPixmap предоставляет набор функций, которые могут использоваться для получения различных сведений об изображении:

Доступные функции
Геометрия Функции size(), width() и height() предоставляют информацию о размерах изображения. Функция rect() возвращает прямоугольник, окружающий изображение.
Компонент альфа Функция hasAlphaChannel() возвращает true, если pixmap имеет формат, который учитывает альфа-канал, в противном случае возвращает false. Функции hasAlpha(), setMask() и mask() являются устаревшими и не должны использоваться. Они могут быть очень медленными.

Функция createHeuristicMask() создаёт и возвращает эвристическую маску 1 бита (т.е. QBitmap) для данного pixmap. Она работает, выбирая цвет из одного из углов, а затем удаляя пиксели этого цвета, начиная с краёв. Функция createMaskFromColor() создаёт и возвращает маску (т.е. QBitmap) для pixmap на основе заданного цвета.

Информация низкого уровня Функция depth() возвращает глубину изображения. Функция defaultDepth() возвращает стандартную глубину, то есть глубину, используемую приложением на данном экране.

Функция cacheKey() возвращает число, однозначно идентифицирующее содержимое объекта QPixmap.

Функция x11Info() возвращает информацию о конфигурации дисплея X, используемого экраном, к которому в настоящее время принадлежит pixmap. Функция x11PictureHandle() возвращает дескриптор X11 Picture для поддержки XRender. Обратите внимание, что две последние функции доступны только в x11.

Преобразование pixmap

Объект QPixmap может быть преобразован в QImage с помощью функции toImage(). Аналогично, QImage может быть преобразован в QPixmap с помощью функции fromImage(). Если эта операция слишком затратна, вы можете использовать QBitmap::fromImage() вместо этого.

Для преобразования QPixmap в HICON и обратно можно использовать функции QtWinExtras QtWin::toHICON() и QtWin::fromHICON() соответственно.

Преобразования pixmap

QPixmap поддерживает ряд функций для создания нового pixmap, являющегося преобразованной версией исходного:

Функции scaled(), scaledToWidth() и scaledToHeight() возвращают отмасштабированные копии pixmap, а функция copy() создаёт QPixmap, представляющий собой простую копию исходного.

Функция transformed() возвращает копию pixmap, преобразованную с помощью заданной матрицы преобразования и режима преобразования: внутренне матрица преобразования корректируется для компенсации нежелательного смещения, т.е. transformed() возвращает наименьший pixmap, содержащий все преобразованные точки исходного pixmap. Статическая функция trueMatrix() возвращает фактическую матрицу, используемую для преобразования pixmap.

Примечание: При использовании родной графической системы X11 pixmap становится недействительным при уничтожении экземпляра QApplication.

См. также QBitmap, QImage, QImageReader и QImageWriter.

Документация по членам-функциям

QPixmap::QPixmap()

Создаёт пустое pixmap.

См. также isNull().

QPixmap::QPixmap(int width, int height)

Создаёт пикчер с заданной шириной width и высотой height. Если width или height равны нулю, создаётся нулевой пикчер.

Предупреждение: Это создаст QPixmap с неинициализированными данными. Вызовите fill(), чтобы заполнить пикчер соответствующим цветом перед рисованием на нём с помощью QPainter.

См. также isNull().

QPixmap::QPixmap(const QSize &size)

Это перегруженная функция.

Создаёт пикчер заданного размера size.

Предупреждение: Это создаст QPixmap с неинициализированными данными. Вызовите fill(), чтобы заполнить пикчер соответствующим цветом перед рисованием на нём с помощью QPainter.

QPixmap::QPixmap(const QString &fileName, const char *format = Q_NULLPTR, Qt::ImageConversionFlags flags = Qt::AutoColor)

Создаёт пикчер из файла с заданным именем файла fileName. Если файл не существует или имеет неизвестный формат, пикчер становится нулевым пикчером.

Загрузчик пытается прочитать пикчер, используя указанный формат. Если формат не указан (что является значением по умолчанию), загрузчик исследует файл, чтобы определить его формат.

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

Если изображение нужно изменить, чтобы оно соответствовало результату с меньшим разрешением (например, преобразование из 32-битного в 8-битное), используйте flags для управления преобразованием.

Параметры fileName, format и flags передаются в load(). Это означает, что данные в fileName не компилируются в двоичный файл. Если fileName содержит относительный путь (например, только имя файла), соответствующий файл должен быть найден относительно текущей рабочей директории во время выполнения.

См. также Чтение и запись файлов изображений.

QPixmap::QPixmap(const char * const[] xpm)

Создаёт пикчер из предоставленных данных xpm, которые должны представлять собой допустимое изображение XPM.

Ошибки игнорируются без сообщений об ошибках.

Обратите внимание, что можно немного сжать переменную XPM, используя необычное объявление:

static const char * const start_xpm[]={
    "16 15 8 1",
    "a c #cec6bd",
....

Дополнительный const делает всё определение только для чтения, что немного эффективнее (например, при работе с общими библиотеками) и подходит для использования в ПЗУ, когда приложение хранится в ПЗУ.

QPixmap::QPixmap(const QPixmap &pixmap)

Создаёт пикчер, являющийся копией заданного пикчера pixmap.

См. также copy().

QPixmap::~QPixmap()

Удаляет пикчер.

QPixmap QPixmap::alphaChannel() const

Эта функция устарела.

Большинство вариантов использования могут быть достигнуты с помощью QPainter и QPainter::CompositionMode вместо этого.

См. также setAlphaChannel().

qint64 QPixmap::cacheKey() const

Возвращает число, которое идентифицирует этот QPixmap. Разные объекты QPixmap могут иметь одинаковый ключ кэша только если они содержат одинаковые данные.

cacheKey() изменится, когда пикчер будет изменён.

bool QPixmap::convertFromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor)

Заменяет данные этого пикчера заданным изображением image с использованием указанных flags для управления преобразованием. Аргумент flags — это побитовое ИЛИ флагов Qt::ImageConversionFlags. Передача 0 для flags устанавливает все значения по умолчанию. Возвращает true если результат — этот пикчер не нулевой.

Примечание: эта функция была частью поддержки Qt 3 в Qt 4.6 и ранее. Она была повышена до официального статуса API в 4.7, чтобы обеспечить обновление изображения пикчера без создания нового QPixmap, как это делала бы функция fromImage().

Эта функция была представлена в Qt 4.7.

См. также fromImage().

QPixmap QPixmap::copy(const QRect &rectangle = QRect()) const

Возвращает глубокую копию подмножества пикчера, указанного заданным прямоугольником rectangle. Более подробную информацию о глубоких копиях см. в документации Неявное совместное использование данных.

Если заданный rectangle пустой, копируется всё изображение.

См. также operator=(), QPixmap() и Преобразования пикчера.

QPixmap QPixmap::copy(int x, int y, int width, int height) const

Это перегруженная функция.

Возвращает глубокую копию подмножества пикчера, указанного прямоугольником QRect( x, y, width, height).

QBitmap QPixmap::createHeuristicMask(bool clipTight = true) const

Создаёт и возвращает эвристическую маску для этого пикчера.

Функция работает, выбирая цвет из одного из углов и затем удаляя пиксели этого цвета, начиная с всех краёв. Если clipTight равно true (значение по умолчанию), маска имеет только необходимый размер для покрытия пикселей; в противном случае маска больше, чем пиксели данных.

Маска может быть не идеальной, но она должна быть достаточно разумной, чтобы вы могли выполнять такие действия, как следующие:

QPixmap myPixmap;
myPixmap.setMask(myPixmap.createHeuristicMask());

Эта функция медленная, так как она включает преобразование в/из QImage, и нетривиальные вычисления.

См. также QImage::createHeuristicMask() и createMaskFromColor().

QBitmap QPixmap::createMaskFromColor(const QColor &maskColor, Qt::MaskMode mode = Qt::MaskInColor) const

Создаёт и возвращает маску для этого пикчера, основанную на заданном цвете маски maskColor. Если mode — Qt::MaskInColor, все пиксели, соответствующие maskColor, будут прозрачными. Если mode — Qt::MaskOutColor, все пиксели, соответствующие maskColor, будут непрозрачными.

Эта функция медленная, так как она включает преобразование в/из QImage.

См. также createHeuristicMask() и QImage::createMaskFromColor().

[static] int QPixmap::defaultDepth()

Возвращает глубину пикчера по умолчанию, используемую приложением.

На всех платформах возвращается глубина основного экрана.

См. также depth(), QColormap::depth() и Информация о пикчере.

int QPixmap::depth() const

Возвращает глубину пикчера.

Глубина пикчера также называется количеством бит на пиксель (bpp) или плоскостями битов пикчера. У нулевого пикчера глубина равна 0.

См. также defaultDepth() и Информация о пикчере.

void QPixmap::detach()

Отсоединяет пикчер от общих данных пикчера.

Пикчер автоматически отсоединяется Qt всякий раз, когда его содержимое собирается измениться. Это делается практически во всех функциях члена QPixmap, которые изменяют пикчер (fill(), fromImage(), load() и т. д.), а также в QPainter::begin() на пикчере.

Существует два исключения, в которых detach() необходимо вызывать явно, то есть при вызове функций handle() или x11PictureHandle() (только доступно в X11). В противном случае любые изменения, выполненные с помощью системных вызовов, будут выполнены с общими данными.

Функция detach() возвращается немедленно, если имеется только одна ссылка или если пикчер ещё не инициализирован.

qreal QPixmap::devicePixelRatio() const

Возвращает отношение пикселей устройства для пикчера. Это отношение между пикселями устройства и независимыми от устройства пикселями.

Используйте эту функцию при расчёте геометрии макета на основе размера пикчера: QSize layoutSize = image.size() / image.devicePixelRatio()

Значение по умолчанию — 1.0.

См. также setDevicePixelRatio() и QImageReader.

void QPixmap::fill(const QColor &color = Qt::white)

Заполняет пикчер заданным цветом color.

Эффект этой функции неопределён, когда пикчер рисуется.

См. также Преобразования пикчера.

[static] QPixmap QPixmap::fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor)

Преобразует заданное изображение image в пикчер, используя указанные flags для управления преобразованием. Аргумент flags — это побитовое ИЛИ флагов Qt::ImageConversionFlags. Передача 0 для flags устанавливает все значения по умолчанию.

В случае монохромных и 8-битных изображений изображение сначала преобразуется в 32-битный пикчер, а затем заполняется цветами из таблицы цветов. Если это слишком дорогостоящая операция, вы можете использовать QBitmap::fromImage() вместо этого.

См. также fromImageReader(), toImage() и Преобразование пикчера.

[static] QPixmap QPixmap::fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor)

Это перегруженная функция.

Преобразует заданное изображение image в пикчер без копирования, если это возможно.

Эта функция была добавлена в Qt 5.3.

[static] QPixmap QPixmap::fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags = Qt::AutoColor)

Создаёт QPixmap из изображения, считанного непосредственно из imageReader. Аргумент flags — это побитовое ИЛИ флагов Qt::ImageConversionFlags. Передача 0 для flags устанавливает все значения по умолчанию.

На некоторых системах чтение изображения напрямую в QPixmap может использовать меньше памяти, чем чтение QImage и преобразование его в QPixmap.

См. также fromImage(), toImage() и Преобразование пикчера.

bool QPixmap::hasAlpha() const

Возвращает true , если этот пикчер имеет альфа-канал или маску; в противном случае возвращает false.

См. также hasAlphaChannel() и mask().

bool QPixmap::hasAlphaChannel() const

Возвращает true , если пикчер имеет формат, поддерживающий альфа-канал; в противном случае возвращает false.

См. также hasAlpha().

int QPixmap::height() const

Возвращает высоту пикчера.

См. также size() и Информация о пикчере.

bool QPixmap::isNull() const

Возвращает true , если это пустой пикчер; в противном случае возвращает false.

Пустой пикчер имеет нулевую ширину, нулевую высоту и не содержит данных. В пустом пикчере нельзя рисовать.

bool QPixmap::isQBitmap() const

Возвращает true , если это QBitmap; в противном случае возвращает false.

bool QPixmap::load(const QString &fileName, const char *format = Q_NULLPTR, Qt::ImageConversionFlags flags = Qt::AutoColor)

Загружает пикчер из файла с заданным именем fileName. Возвращает true, если пикчер был успешно загружен; в противном случае делает пикчер недействительным и возвращает false.

Загрузчик пытается прочитать пикчер, используя указанный format. Если format не указан (что является значением по умолчанию), загрузчик анализирует заголовок файла, чтобы определить формат.

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

Если данные необходимо изменить, чтобы они соответствовали результату с более низким разрешением (например, при преобразовании из 32-битного в 8-битный), используйте flags для управления преобразованием.

Обратите внимание, что QPixmap автоматически добавляется в QPixmapCache при загрузке из файла; используемый ключ внутренний и получить его нельзя.

См. также loadFromData() и Чтение и запись файлов изображений.

bool QPixmap::loadFromData(const uchar *data, uint len, const char *format = Q_NULLPTR, Qt::ImageConversionFlags flags = Qt::AutoColor)

Загружает пикчер из первых len байтов заданных двоичных данных data. Возвращает true , если пикчер был загружен успешно; в противном случае делает пикчер недействительным и возвращает false.

Загрузчик пытается прочитать пикчер, используя указанный format. Если format не указан (что является значением по умолчанию), загрузчик анализирует заголовок файла, чтобы определить формат.

Если данные необходимо изменить, чтобы они соответствовали результату с более низким разрешением (например, при преобразовании из 32-битного в 8-битный), используйте flags для управления преобразованием.

См. также load() и Чтение и запись файлов изображений.

bool QPixmap::loadFromData(const QByteArray &data, const char *format = Q_NULLPTR, Qt::ImageConversionFlags flags = Qt::AutoColor)

Это перегруженная функция.

Загружает пикчер из двоичных данных data, используя указанный format и флаги преобразования flags.

QBitmap QPixmap::mask() const

Извлекает маску растрового изображения из альфа-канала пикчера.

Предупреждение: Это потенциально дорогостоящая операция. Маска пикчера динамически извлекается из данных пикселей.

См. также setMask() и Информация о пикчере.

QRect QPixmap::rect() const

Возвращает охватывающий прямоугольник пикчера.

См. также Информация о пикчере.

bool QPixmap::save(const QString &fileName, const char *format = Q_NULLPTR, int quality = -1) const

Сохраняет пикчер в файл с заданным именем fileName, используя указанный формат файла изображения format и коэффициент качества quality. Возвращает true при успешном выполнении; в противном случае возвращает false.

Коэффициент quality должен находиться в диапазоне [0, 100] или быть равным -1. Укажите 0 для получения небольших сжатых файлов, 100 для больших несжатых файлов и -1 для использования значений по умолчанию.

Если format равен 0, формат изображения будет выбран по расширению файла fileName.

См. также Чтение и запись файлов изображений.

bool QPixmap::save(QIODevice *device, const char *format = Q_NULLPTR, int quality = -1) const

Это перегруженная функция.

Эта функция записывает QPixmap в заданный device, используя указанный формат файла изображения format и коэффициент качества quality. Это можно использовать, например, для сохранения пикчера непосредственно в QByteArray:

        QPixmap pixmap;
        QByteArray bytes;
        QBuffer buffer(&bytes);
        buffer.open(QIODevice::WriteOnly);
        pixmap.save(&buffer, "PNG"); // writes pixmap into bytes in PNG format

QPixmap QPixmap::scaled(const QSize &size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const

Масштабирует пикчер до заданного размера size, используя режим сохранения пропорций и режим преобразования, заданные aspectRatioMode и transformMode.

  • Если aspectRatioMode равен Qt::IgnoreAspectRatio, пикчер масштабируется до size.
  • Если aspectRatioMode равен Qt::KeepAspectRatio, пикчер масштабируется до максимально возможного прямоугольника внутри size, сохраняя пропорции.
  • Если aspectRatioMode равен Qt::KeepAspectRatioByExpanding, пикчер масштабируется до минимально возможного прямоугольника вне size, сохраняя пропорции.

Если заданный size пустой, эта функция возвращает пустой пикчер.

В некоторых случаях может быть более выгодно нарисовать пикчер в отрисовщике с установленным масштабом, а не масштабировать пикчер. Это относится к случаям, когда отрисовщик, например, основан на OpenGL или когда коэффициент масштабирования меняется быстро.

См. также isNull() и Преобразования пикчера.

QPixmap QPixmap::scaled(int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const

Это перегруженный метод.

Возвращает копию пиктограммы, масштабированной до прямоугольника заданной ширины и высоты в соответствии с заданными aspectRatioMode и transformMode.

Если либо width, либо height равно нулю или отрицательному значению, функция возвращает нулевую пиктограмму.

QPixmap QPixmap::scaledToHeight(int height, Qt::TransformationMode mode = Qt::FastTransformation) const

Возвращает отмасштабированную копию изображения. Возвращаемое изображение масштабируется до заданной высоты height с использованием указанного режима преобразования mode. Ширина пиктограммы вычисляется автоматически таким образом, чтобы сохранялось соотношение сторон пиктограммы.

Если height равно 0 или отрицательному значению, возвращается нулевая пиктограмма.

См. также isNull() и Преобразования пиктограмм.

QPixmap QPixmap::scaledToWidth(int width, Qt::TransformationMode mode = Qt::FastTransformation) const

Возвращает отмасштабированную копию изображения. Возвращаемое изображение масштабируется до заданной ширины width с использованием указанного режима преобразования mode. Высота пиктограммы вычисляется автоматически, чтобы сохранить соотношение сторон пиктограммы.

Если width равно 0 или отрицательному значению, возвращается нулевая пиктограмма.

См. также isNull() и Преобразования пиктограмм.

void QPixmap::scroll(int dx, int dy, int x, int y, int width, int height, QRegion *exposed = Q_NULLPTR)

Эта вспомогательная функция эквивалентна вызову QPixmap::scroll(dx, dy, QRect(x, y, width, height), exposed).

Эта функция была введена в Qt 4.6.

См. также QWidget::scroll() и QGraphicsItem::scroll().

void QPixmap::scroll(int dx, int dy, const QRect &rect, QRegion *exposed = Q_NULLPTR)

Прокручивает область rect этой пиктограммы на (dx, dy). Область exposed остается неизменной. Вы можете необязательно передать указатель на пустую QRegion, чтобы получить область, exposed операцией прокрутки.

QPixmap pixmap("background.png");
QRegion exposed;
pixmap.scroll(10, 10, pixmap.rect(), &exposed);

Вы не можете прокручивать, пока активный рисовальщик работает с пиктограммой.

Эта функция была введена в Qt 4.6.

См. также QWidget::scroll() и QGraphicsItem::scroll().

void QPixmap::setAlphaChannel(const QPixmap &p)

Эта функция устарела.

Большинство случаев использования этого метода могут быть достигнуты с помощью p с QPainter и QPainter::CompositionMode вместо.

См. также alphaChannel().

void QPixmap::setDevicePixelRatio(qreal scaleFactor)

Устанавливает коэффициент пикселей устройства для пиктограммы. Это соотношение между пикселями изображения и независимыми от устройства пикселями.

Значение по умолчанию scaleFactor равно 1.0. Установка его на другое значение оказывает два эффекта:

QPainters, открытые в пиктограмме, будут масштабированы. Например, рисование на изображении 200x200 с коэффициентом 2.0 приведет к эффективным (независимым от устройства) границам рисования 100x100.

Пути кода в Qt, вычисляющие геометрию макета на основе размера пиктограммы, будут учитывать коэффициент: QSize layoutSize = pixmap.size() / pixmap.devicePixelRatio() . Это обеспечит отображение пиктограммы как пиктограммы высокой DPI, а не большой пиктограммы (см. Рисование версий с высоким разрешением пиктограмм и изображений).

См. также devicePixelRatio().

void QPixmap::setMask(const QBitmap &mask)

Устанавливает маску растрового изображения.

Эта функция объединяет mask с альфа-каналом пиктограммы. Значение 1 в маске означает, что пиксель пиктограммы не меняется; значение 0 означает, что пиксель прозрачен. Маска должна иметь тот же размер, что и эта пиктограмма.

Установка нулевой маски сбрасывает маску, оставляя ранее прозрачные пиксели черными. Эффект этой функции неопределен, когда на пиктограмму рисуется.

Предупреждение: Это потенциально ресурсоемкая операция.

См. также mask(), Преобразования пиктограмм и QBitmap.

QSize QPixmap::size() const

Возвращает размер пиктограммы.

См. также width(), height() и Информация о пиктограмме.

void QPixmap::swap(QPixmap &other)

Меняет местами пиктограмму other с этой пиктограммой. Эта операция очень быстрая и никогда не приводит к ошибке.

Эта функция была введена в Qt 4.8.

QImage QPixmap::toImage() const

Преобразует пиктограмму в QImage. Возвращает нулевое изображение, если преобразование не удалось.

Если глубина пиктограммы 1 бит, возвращаемое изображение также будет иметь глубину 1 бит. Изображения с большим количеством битов будут возвращены в формате, который тесно связан с базовой системой. Обычно это QImage::Format_ARGB32_Premultiplied для пиктограмм с альфа-каналом и QImage::Format_RGB32 или QImage::Format_RGB16 для пиктограмм без альфа-канала.

Обратите внимание, что на данный момент альфа-маски на монохромных изображениях игнорируются.

См. также fromImage() и Форматы изображений.

QPixmap QPixmap::transformed(const QTransform &transform, Qt::TransformationMode mode = Qt::FastTransformation) const

Возвращает копию пиктограммы, преобразованной с помощью заданного преобразования transform и режима преобразования mode. Исходная пиктограмма не изменяется.

Преобразование transform внутренне корректируется для компенсации нежелательного сдвига; т. е. полученная пиктограмма — это наименьшая пиктограмма, содержащая все преобразованные точки исходной пиктограммы. Используйте функцию trueMatrix() для получения фактической матрицы, используемой для преобразования пиктограммы.

Эта функция медленная, так как включает преобразование в QImage, нетривиальные вычисления и преобразование обратно в QPixmap.

См. также trueMatrix() и Преобразования пиктограмм.

QPixmap QPixmap::transformed(const QMatrix &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const

Это перегруженный метод.

Эта вспомогательная функция загружает matrix в QTransform и вызывает перегруженную функцию.

QTransform QPixmap::trueMatrix(const QTransform &matrix, int width, int height)

Возвращает фактическую матрицу, используемую для преобразования пиктограммы с заданной шириной, высотой и матрицей.

При преобразовании пиктограммы с помощью функции transformed() матрица преобразования внутренне корректируется для компенсации нежелательного сдвига, т. е. transformed() возвращает наименьшую пиктограмму, содержащую все преобразованные точки исходной пиктограммы. Эта функция возвращает измененную матрицу, которая правильно отображает точки исходной пиктограммы в новую пиктограмму.

См. также transformed() и Преобразования пиктограмм.

QMatrix QPixmap::trueMatrix(const QMatrix &m, int w, int h)

Это перегруженный метод.

Эта вспомогательная функция загружает матрицу m в QTransform и вызывает перегруженную функцию с QTransform и шириной w и высотой h.

int QPixmap::width() const

Возвращает ширину пиктограммы.

См. также size() и Информация о пиктограмме.

QPixmap::operator QVariant() const

Возвращает растровое изображение в виде QVariant.

bool QPixmap::operator!() const

Возвращает true если это нулевое растровое изображение; в противном случае возвращает false.

См. также isNull().

QPixmap &QPixmap::operator=(const QPixmap &pixmap)

Присваивает данное pixmap этому растровому изображению и возвращает ссылку на это растровое изображение.

См. также copy() и QPixmap().

QPixmap &QPixmap::operator=(QPixmap &&other)

Перемещающее присваивание other этому экземпляру QPixmap.

Данная функция была добавлена в Qt 5.2.

Связанные нечлены

QDataStream &operator<<(QDataStream &stream, const QPixmap &pixmap)

Записывает заданное pixmap в заданный stream в формате PNG. Обратите внимание, что запись в файл не создаст правильный файл изображения.

См. также QPixmap::save() и Сериализация типов данных Qt.

QDataStream &operator>>(QDataStream &stream, QPixmap &pixmap)

Читает изображение из заданного stream в заданное pixmap.

См. также QPixmap::load() и Сериализация типов данных Qt.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qpixmap.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API