QPixmap Class

QPixmapクラスは、ペイントデバイスとして使用できるオフスクリーン画像表現です。詳細...

ヘッダー #include <QPixmap>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
を継承する: QPaintDevice
継承元:

QBitmap

パブリック関数

QPixmap()
QPixmap(const char *const[] xpm)
QPixmap(int width, int height)
QPixmap(const QString &fileName, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor)
QPixmap(const QSize &size)
QPixmap(const QPixmap &pixmap)
QPixmap(QPixmap &&other)
virtual ~QPixmap()
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()
(since 6.2) QSizeF deviceIndependentSize() const
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 = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor)
bool loadFromData(const uchar *data, uint len, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor)
bool loadFromData(const QByteArray &data, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor)
QBitmap mask() const
QRect rect() const
bool save(const QString &fileName, const char *format = nullptr, int quality = -1) const
bool save(QIODevice *device, const char *format = 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, const QRect &rect, QRegion *exposed = nullptr)
void scroll(int dx, int dy, int x, int y, int width, int height, QRegion *exposed = nullptr)
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
int width() const
QVariant operator QVariant() const
bool operator!() const
QPixmap &operator=(QPixmap &&other)
QPixmap &operator=(const QPixmap &pixmap)

静的パブリックメンバ

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)
QDataStream &operator<<(QDataStream &stream, const QPixmap &pixmap)
QDataStream &operator>>(QDataStream &stream, QPixmap &pixmap)

詳しい説明

Qt は画像データを扱うための 4 つのクラスを提供しています:QImage QBitmap QPicture QImage QPixmapは画面に画像を表示するために設計され、最適化されています。QBitmap はQPixmapを継承した便利なクラスで、深さは1です。isQBitmap()関数はQPixmapオブジェクトが本当にビットマップであればtrue を返し、そうでなければfalse を返します。最後に、QPicture クラスは、QPainter コマンドを記録して再生するペイントデバイスです。

QPixmap は、QLabel またはQAbstractButton のサブクラス(QPushButtonQToolButton など)を使って簡単に画面に表示できます。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に関するさまざまな情報を取得するために使用できる関数が用意されています。さらに、pixmap の変換を可能にする関数もいくつかあります。

画像ファイルの読み書き

QPixmapは画像ファイルを読み込む方法をいくつか提供しています:ファイルは、QPixmap オブジェクトを作成するときに読み込むか、後でload() またはloadFromData() 関数を使用して読み込むことができます。画像を読み込むとき、ファイル名はディスク上の実際のファイルを参照するか、アプリケーションの組み込みリソースの1つを参照することができます。アプリケーションの実行ファイルに画像やその他のリソースファイルを埋め込む方法の詳細については、Qt Resource System の概要を参照してください。

QPixmapオブジェクトを保存するには、save ()関数を呼び出すだけです。

サポートされているファイル・フォーマットの完全なリストは、QImageReader::supportedImageFormats() およびQImageWriter::supportedImageFormats() 関数から入手できます。新しいファイルフォーマットはプラグインとして追加できます。デフォルトでは、Qt は以下のフォーマットをサポートしています:

フォーマット説明Qt のサポート
BMPWindows ビットマップ読み書き可能
GIFグラフィック交換フォーマット(オプション)読み込み
JPGジョイント・フォトグラフィック・エキスパート・グループ読み取り/書き込み
JPEGジョイント・フォトグラフィック・エキスパート・グループ読み書き
PNGポータブルネットワークグラフィックス読み書き
PBMポータブル・ビットマップ読み取り
PGMポータブルグレイマップ読み取り
PPMポータブルピクスマップ読み取り/書き込み
XBMX11ビットマップ読み書き
XPMX11 ピクスマップ読み書き

ピクセルマップ情報

QPixmapは、pixmapに関する様々な情報を取得するために使用できる関数群を提供しています:

使用可能な関数
ジオメトリsize ()、width ()、height ()関数は、pixmap のサイズに関する情報を提供します。rect() 関数は、画像を囲む矩形を返します。
アルファ成分hasAlphaChannel() は、pixmap がアルファチャンネルを尊重する形式である場合、true を返し、そうでない場合はfalse を返す。hasAlpha ()、setMask ()、mask ()関数はレガシーであり、使用すべきではありません。これらは非常に遅い可能性があります。

createHeuristicMask() 関数は、この pixmap に対して 1-bpp のヒューリスティック・マスク(すなわちQBitmap )を作成して返します。この関数は、角の1つから色を選択し、その色のピクセルをすべてのエッジから削っていきます。createMaskFromColor() 関数は、指定された色に基づいて pixmap のマスク(すなわちQBitmap )を作成し、返します。

低レベル情報depth() 関数は、pixmap の深度を返します。defaultDepth() 関数は、デフォルトの深度、つまり、指定された画面でアプリケーションが使用する深度を返します。

cacheKey() 関数は、QPixmap オブジェクトの内容を一意に識別する番号を返します。

Pixmapの変換

QPixmap オブジェクトは、toImage() 関数を使用してQImage に変換できます。同様に、fromImage ()を使用して、QImage を QPixmap に変換できます。この操作が高価すぎる場合は、代わりにQBitmap::fromImage() を使用できます。

QPixmap を HICON へ、または HICON から変換するには、それぞれQImage::toHICON() およびQImage::fromHICON() 関数を使用できます(上記で説明したように、QPixmap をQImage に変換した後)。

ピクセルマップの変換

QPixmapは、元のpixmapを変換した新しいpixmapを作成するための関数を多数サポートしています:

scaled ()、scaledToWidth ()、scaledToHeight ()関数は、pixmapのスケーリングされたコピーを返し、copy ()関数は、元のpixmapのプレーンコピーであるQPixmapを作成します。

transformed() 関数は,与えられた変換行列と変換モードで変換された pixmap のコピーを返します.内部的には,不要な平行移動が補正されるように変換行列が調整されます.つまり,transformed() は,元の pixmap のすべての変換点を含む最小の pixmap を返します.静的なtrueMatrix() 関数は、pixmap の変換に使用される実際の行列を返します。

QBitmap,QImage,QImageReader, およびQImageWriterも参照してください

メンバ関数ドキュメント

QPixmap::QPixmap()

null pixmap を構築します。

isNull()も参照

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

与えられたxpm データから pixmap を構築します。このデータは有効な XPM 画像でなければなりません。

エラーは無視されます。

XPM変数を少し絞ることができることに注意してください:

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

余分なconst 、定義全体を読み取り専用にすることで、(コードが共有ライブラリにある場合など)少し効率的になり、アプリケーションがROMに格納される場合はROM化可能になります。

QPixmap::QPixmap(int width, int height)

与えられたwidthheight で pixmap を構築します。width またはheight のいずれかが 0 の場合、 null pixmap が構築されます。

警告: これは、初期化されていないデータで QPixmap を作成します。QPainter で描画する前に、fill() を呼び出して、pixmap を適切な色で塗りつぶします。

isNull()も参照してください

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

与えられたfileName のファイルから pixmap を構築する。フ ァ イ ルが存在 し ないか、 ま たは形式が不明な と き は、 pixmap は null pixmap にな る 。

ローダは、指定されたformat を用いて pixmap の読み込みを試みます。format が指定 さ れていない と き (デフ ォ ル ト では こ れがデフ ォ ル ト ) 、 ロ ーダは フ ァ イ ル形式を推測す る ためのヘ ッ ダを フ ァ イ ルにプ ロ ーブ し ます。

ファイル名は、ディスク上の実際のファイルか、アプリケーションの組み込みリソースのいずれかを指します。アプリケーションの実行ファイルに画像やその他のリソース・ファイルを埋め込む方法の詳細については、リソース・システムの概要を参照してください。

低解像度の結果に合うように画像を修正する必要がある場合(例えば32ビットから8ビットへの変換)、flags を使用して変換を制御します。

fileNameformatflags のパラメータは、load() に渡されます。つまり、fileName のデータはバイナリにコンパイルされない。fileName に相対パス(例:ファイル名のみ)が含まれている場合、関連ファイルはランタイムの作業ディレクトリからの相対パスで見つけられなければならない。

Reading and Writing Image Filesも参照のこと

[explicit] QPixmap::QPixmap(const QSize &size)

これはオーバーロードされた関数である。

与えられたsize の pixmap を構築します。

警告: これは、初期化されていないデータで QPixmap を作成します。QPainter で描画する前に、fill() を呼び出して、pixmap を適切な色で塗りつぶします。

QPixmap::QPixmap(const QPixmap &pixmap)

与えられたpixmap のコピーである pixmap を構築します。

copy()も参照してください

[noexcept] QPixmap::QPixmap(QPixmap &&other)

Move-construct QPixmap インスタンスをother から生成します。

swap() およびoperator=(QPixmap&&)も参照してください

[virtual noexcept] QPixmap::~QPixmap()

pixmapを破壊する。

qint64 QPixmap::cacheKey() const

このQPixmap を識別する番号を返す。異なるQPixmap オブジェクトが同じキャッシュ・キーを持つことができるのは、それらが同じ コンテンツを参照している場合のみです。

cacheKey() は、pixmap が変更されると変更されます。

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

指定されたflags を使用して変換を制御し、この pixmap のデータを指定されたimage で置き換えます。引数flags は、Qt::ImageConversionFlags のビット OR です。flags に 0 を渡すと、すべてのデフォルトオプションが設定されます。このpixmapがNULLでないという結果が得られた場合、true を返します。

fromImage()も参照してください

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

与えられたrectangle で指定された pixmap のサブセットのディープコピーを返します。ディープコピーの詳細については、暗黙的データ共有のドキュメントを参照してください。

与えられたrectangle が空の場合、画像全体がコピーされます。

operator=()、QPixmap()、Pixmap Transformationsも参照してください

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

これはオーバーロードされた関数です。

矩形QRect(x,y,width,height) で指定される pixmap のサブセットのディープコピーを返します。

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

この pixmap のヒューリスティックマスクを作成して返します。

この関数は,角の1つから色を選択し,その色のピクセルをすべてのエッジから削っていきます.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 に基づいて、この pixmap のマスクを作成して返します。modeQt::MaskInColor の場合、 maskColor に一致するすべてのピクセルは透明になります。modeQt::MaskOutColor の場合、 maskColor に一致するすべてのピクセルは不透明になります。

この関数は、QImage との間で変換を行うため、遅い。

createHeuristicMask() およびQImage::createMaskFromColor()も参照

[static] int QPixmap::defaultDepth()

アプリケーションが使用するデフォルトの pixmap の深さを返します。

すべてのプラットフォームで、プライマリ画面の深さが返されます。

注意: この関数を呼び出す前に、QGuiApplication を作成する必要があります。

depth()、QColormap::depth()、Pixmap Informationも参照のこと

int QPixmap::depth() const

pixmapの深さを返します。

pixmapの深さは、ピクセルあたりのビット数(bpp)またはpixmapのビットプレーンとも呼ばれる。nullのpixmapの深さは0です。

defaultDepth() およびPixmap Informationも参照

void QPixmap::detach()

共有 pixmap データから pixmap を切り離します。

pixmap は、その内容が変更されそうになると、Qt によって自動的に切り離されます。これは、pixmap を変更するほとんどすべてのQPixmap メンバ関数 (fill()、fromImage()、load() など)、および pixmap 上のQPainter::begin() で行われます。

detach()を明示的に呼び出さなければならない例外が2つあります。それは、handle()関数またはx11PictureHandle()関数(X11でのみ使用可能)を呼び出す場合です。そうでない場合、システム・コールを使用して行われた変更は、共有データに対して実行されます。

参照が 1 つだけの場合や、pixmap がまだ初期化されていない場合、detach() 関数はすぐに返されます。

[since 6.2] QSizeF QPixmap::deviceIndependentSize() const

pixmapのサイズをデバイスに依存しないピクセル数で返します。

この値は、ユーザーインターフェイスのサイズ計算で pixmap のサイズを使用するときに使用する。

戻り値は pixmap.size() / pixmap.devicePixelRatio() と等価です。

この関数は Qt 6.2 で導入されました。

qreal QPixmap::devicePixelRatio() const

pixmap のデバイスピクセル比率を返します。これは、デバイスピクセルと デバイス非依存ピクセルの比率です。

この関数は、 pixmap のサイズに基づいてレイアウトのジオメトリを計算するときに使用します。QSize layoutSize = image.size() / image.devicePixelRatio()

デフォルト値は1.0です。

setDevicePixelRatio() およびQImageReaderも参照

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

与えられたcolor で pixmap を塗りつぶします。

pixmap が描画されている場合、この関数の効果は未定義です。

Pixmap Transformationsも参照してください

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

指定されたflags を使用して変換を制御するために、与えられたimage を pixmap に変換する。引数flags は、Qt::ImageConversionFlags のビ ッ ト 単位の OR です。flags に 0 を渡す と 、 すべてのデフ ォ ル ト オプシ ョ ンが設定 さ れます。

モノクロ画像 と 8 ビ ッ ト 画像の場合、 画像はまず 32 ビ ッ ト ピ ッ ク ス マ ッ プへ変換 さ れ、 その後にカ ラ ーテーブル内の色で塗りつぶされます。この操作が高価すぎる場合は、代わりにQBitmap::fromImage() を使うことができます。

fromImageReader()、toImage()、Pixmap Conversionも参照のこと

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

これはオーバーロードされた関数です。

与えられたimage を、可能であればコピーせずに pixmap に変換します。

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

imageReader から直接読み込んだ画像からQPixmap を作成します。flags 引数はQt::ImageConversionFlags のビット OR です。flags に 0 を渡すと、すべてのデフォルトオプションが設定されます。

システムによっては、画像を直接QPixmap に読み込むほうが、QImage を読み込んでQPixmap に変換するよりもメモリ使用量が少なくて済むことがあります。

fromImage()、toImage()、Pixmap Conversionも参照のこと

bool QPixmap::hasAlpha() const

この pixmap がアルファチャンネルを持っているか、マスクを持っている場合はtrue を返し、そうでない場合はfalse を返します。

hasAlphaChannel() およびmask()も参照

bool QPixmap::hasAlphaChannel() const

pixmap がアルファチャネルを尊重するフォーマットを持っている場合はtrue を返し、そうでない場合はfalse を返します。

hasAlpha()も参照して ください。

int QPixmap::height() const

pixmap の高さを返します。

size() およびPixmap Informationも参照してください

bool QPixmap::isNull() const

null pixmap の場合はtrue を返し、そうでない場合はfalse を返す。

null pixmap は幅も高さも内容もゼロです。null pixmap には描画できません。

bool QPixmap::isQBitmap() const

これがQBitmap であればtrue を返し、そうでなければfalse を返す。

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

与えられたfileName のファイルから pixmap を読み込みます。pixmap が正常に読み込まれた場合は true を返し、そうでない場合は pixmap を無効にしてfalse を返します。

ローダは、指定されたformat を使用して pixmap の読み込みを試みます。format が指定 さ れていない と き (デフ ォ ル ト では こ れがデフ ォ ル ト ) 、 ロ ーダはフ ァ イ ル形式を推測す る ためのヘ ッ ダを フ ァ イ ルに追加 し ます。

ファイル名は、ディスク上の実際のファイルか、アプリケーションの組み込みリソースのいずれかを指します。アプリケーションの実行ファイルにpixmapやその他のリソース・ファイルを埋め込む方法の詳細については、リソース・システムの概要を参照してください。

低解像度の結果に合うようにデータを変更する必要がある場合(32ビットから8ビットへの変換など)、flags を使用して変換を制御します。

QPixmapは、メイン・スレッドでファイルからロードされると、自動的にQPixmapCache に追加されることに注意してください。使用されるキーは内部的なものであり、取得することはできません。

loadFromData() およびReading and Writing Image Filesも参照のこと

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

与えられたバイナリdata の最初のバイトlen から pixmap をロードする。pixmap の読み込みに成功した場合はtrue を返し、失敗した場合は pixmap を無効にしてfalse を返します。

ローダは、指定されたformat を使用して pixmap の読み取りを試みます。format が指定されていない場合(デフォルト)、ローダはファイルにヘッダをプローブしてファイル形式を推測します。

低解像度の結果に収まるようにデータを変更する必要がある場合(32ビットから8ビットへの変換など)、flags を使用して変換を制御します。

load() およびReading and Writing Image Filesも参照のこと

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

これはオーバーロードされた関数です。

指定されたformat と変換flags を使って、バイナリdata から pixmap を読み込みます。

QBitmap QPixmap::mask() const

pixmap のアルファチャンネルからビットマップマスクを抽出します。

警告: これは高価な操作になる可能性があります。pixmap のマスクは pixeldata から動的に抽出されます。

setMask() およびPixmap Informationも参照してください

QRect QPixmap::rect() const

pixmap を囲む矩形を返 し ます。

Pixmap Informationも参照してください

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

指定 さ れた画像フ ァ イ ルformatquality 係数を用いて、 与えられたfileName のフ ァ イ ルに pixmap を保存 し ます。成功すればtrue を返し、そうでなければfalse を返す。

quality 係数は [0,100] または -1 の範囲でなければならない。小さな圧縮ファイルを得るには0を、大きな非圧縮ファイルを得るには100を、デフォルト設定を使用するには-1を指定する。

formatnullptr の場合、画像フォーマットはfileName の接尾辞から選ばれる。

Reading and Writing Image Filesも参照のこと

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

これはオーバーロードされた関数である。

この関数は、指定された画像ファイルformatquality の係数を使用して、与えられたdeviceQPixmap を書き込みます。これは、例えば、pixmap を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

aspectRatioModetransformMode で指定 さ れた縦横比 と 変換モー ド を用いて、 与え ら れたsize に pixmap を拡大縮小 し ます。

  • aspectRatioModeQt::IgnoreAspectRatio の場合、 pixmap はsize に拡大縮小されます。
  • aspectRatioModeQt::KeepAspectRatio の場合,pixmap は,縦横比を保ったまま,size 内の可能な限り大きな矩形に拡大縮小されます.
  • aspectRatioModeQt::KeepAspectRatioByExpanding の場合,pixmap は,アスペクト比を保ったまま,size の外側のできるだけ小さな矩形にスケーリングされます.

与えられたsize が空の場合,この関数は null pixmap を返します.

場合によっては,pixmap を拡大縮小するよりも,pixmap をスケールが設定されたペインタに描画する方が有益なことがあります.例えば、ペインターがOpenGLをベースにしている場合や、スケールファクターが急激に変化する場合などです。

isNull() およびPixmap Transformationsも参照してください

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

これはオーバーロードされた関数です。

与えられたwidthheight を、与えられたaspectRatioModetransformMode に従って矩形にスケーリングした pixmap のコピーを返します。

widthheight のいずれかが 0 か負の場合,この関数は null pixmap を返します.

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

画像のスケーリングされたコピーを返します。返 さ れた画像は、 指定 し た変換mode を用いて、 与えられたheight に拡大縮小 さ れます。pixmap の縦横比が保たれるように、 pixmap の幅が自動的に計算されます。

height が 0 または負の場合、 null pixmap が返されます。

isNull() およびPixmap Transformationsも参照してください

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

画像のスケーリングされたコピーを返します。返 さ れた画像は、 指定 し た変換mode を用いて、 与えられたwidth に拡大縮小 さ れます。pixmap の縦横比が保たれるように、 pixmap の高さは自動的に計算されます。

width が 0 か負の場合、 null pixmap が返されます。

isNull() およびPixmap Transformationsも参照してください

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

この pixmap の領域rect を (dx,dy) だけスクロールする。露出領域は変更されません。オプションで空の領域QRegion へのポインタを渡すと、スクロール操作によってexposed になる領域を取得できます。

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

pixmap 上にアクティブなペインターがある間はスクロールできません。

QWidget::scroll() およびQGraphicsItem::scroll()も参照してください

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

この便利関数は、QPixmap::scroll(dx,dy,QRect(x,y,width,height),exposed) を呼び出すのと等価である。

QWidget::scroll() およびQGraphicsItem::scroll()も参照のこと

void QPixmap::setDevicePixelRatio(qreal scaleFactor)

pixmapのデバイスピクセル比率を設定する。これは画像ピクセルとデバイスに依存しないピクセルの比率です。

デフォルトのscaleFactor は1.0です。他の値に設定すると、2つの影響があります:

pixmap上で開かれたQPainterはスケーリングされます。例えば、200x200の画像に2.0の比率でペイントすると、有効な(デバイスに依存しない)ペイント境界は100x100になります。

QSize layoutSize = pixmap.size() / pixmap.devicePixelRatio() この正味の効果は、pixmap が大きな pixmap ではなく、高 DPI pixmap として表示されることです(Drawing High Resolution Versions of Pixmaps and Images を参照)。

devicePixelRatio() およびdeviceIndependentSize()も参照

void QPixmap::setMask(const QBitmap &mask)

マスクビットマップを設定します。

この関数は、mask を pixmap のアルファチャンネルとマージします。マスクのピクセル値が 1 の場合、その pixmap のピクセルは変化せず、0 の場合、そのピクセルは透明になります。マスクは、この pixmap と同じサイズでなければなりません。

NULL マスクを設定するとマスクはリセットされ、それまで透明だったピクセルは黒くなります。pixmapが描画されているとき、この関数の効果は未定義です。

警告 この関数は高価な操作になる可能性があります。

mask()、Pixmap Transformations 、およびQBitmapも参照してください

QSize QPixmap::size() const

pixmap のサイズを返します。

width()、height()、Pixmap Informationも参照

[noexcept] void QPixmap::swap(QPixmap &other)

この pixmap をother と交換する。この操作は非常に高速で、失敗することはない。

QImage QPixmap::toImage() const

pixmap をQImage に変換 し ます。 変換に失敗 し た と き は null 画像を返 し ます。

pixmap が 1 ビ ッ ト の深 さ を持つ と き は、 返 さ れ る 画像 も 1 ビ ッ ト の深 さ にな り ます。それ よ り 多 く のビ ッ ト を持つ画像は、 その基 と な る シ ス テ ムに近い形式で返 さ れます。通常、アルファを含むpixmapの場合はQImage::Format_ARGB32_Premultiplied 、アルファを含まないpixmapの場合はQImage::Format_RGB32 またはQImage::Format_RGB16

今のところ、モノクロ画像のアルファマスクは無視されることに注意してください。

fromImage() およびImage Formatsも参照してください

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

与えられた変換transform と変換mode を使って変換された pixmap のコピーを返します。元の pixmap は変更されません。

transform つまり,生成される pixmap は,元の pixmap のすべての変換点を含む最小の pixmap となります.pixmapの変換に使用される実際の行列を取得するには、trueMatrix ()関数を使用します。

この関数は,QImage への変換,非自明な計算,およびQPixmap への変換を含むため,時間がかかります.

trueMatrix() およびPixmap Transformationsも参照

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

与えられたwidth,height,matrix を用いて pixmap を変換する際に用いられる実際の行列を返します.

transformed() 関数を用いて pixmap を変換する場合,変換行列は,不要な平行移動を補正するために内部的に調整されます.つまり,transformed() は,元の pixmap のすべての変換点を含む最小の pixmap を返します.この関数は,元の pixmap の点を新しい pixmap に正しく写すように修正された行列を返します.

transformed() およびPixmap Transformationsも参照してください

int QPixmap::width() const

pixmap の幅を返します。

size() およびPixmap Informationも参照してください

QVariant QPixmap::operator QVariant() const

pixmap をQVariant として返します。

bool QPixmap::operator!() const

null pixmap の場合はtrue を返し、そうでない場合はfalse を返します。

isNull()も参照

[noexcept] QPixmap &QPixmap::operator=(QPixmap &&other)

Move-other をこのQPixmap インスタンスに割り当てる。

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

与えられたpixmap をこの pixmap に代入し、この pixmap への参照を返します。

copy() およびQPixmap()も参照

関連する非会員

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

指定されたpixmap を指定されたstream に PNG 画像として書き込みます。ストリームをファイルに書き込んでも、有効な画像ファイルは生成されないことに注意してください。

QPixmap::save() およびQt データ型のシリアライズも参照してください

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

与えられたstream から与えられたpixmap に画像を読み込みます。

QPixmap::load() およびQt データ型のシリアライズも参照してください

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.