Spec-Zone.ru › Qt 5.6

Класс 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 предоставляет набор функций, которые могут быть использованы для получения различных сведений об изображении. Кроме того, существует несколько функций, которые позволяют преобразовать изображение.

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

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 Чтение/запись

Информация о pixmap

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

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

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

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

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

Функция x11Info() возвращает информацию о конфигурации дисплея X, используемого экраном, к которому в данный момент принадлежит pixmap. Функция x11PictureHandle() возвращает дескриптор изображения X11 для поддержки 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().

END_OF_DOCUMENT_MARKER

QPixmap::QPixmap(int width, int 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)

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

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

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

[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/archives/qt-5.6/qpixmap.html

Spec-Zone.ru

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