QImage Class

QImageクラスは、ピクセルデータに直接アクセスできるハードウェアに依存しない画像表現を提供し、ペイントデバイスとして使用できます。詳細...

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

注意:このクラスの関数はすべてリエントラントです。

パブリック型

enum Format { Format_Invalid, Format_Mono, Format_MonoLSB, Format_Indexed8, Format_RGB32, …, Format_CMYK8888 }
enum InvertMode { InvertRgb, InvertRgba }

パブリック関数

QImage()
QImage(const char *const[] xpm)
QImage(const QSize &size, QImage::Format format)
QImage(const QString &fileName, const char *format = nullptr)
QImage(int width, int height, QImage::Format format)
QImage(const uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)
QImage(uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)
QImage(const uchar *data, int width, int height, qsizetype bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)
QImage(uchar *data, int width, int height, qsizetype bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)
QImage(const QImage &image)
QImage(QImage &&other)
virtual ~QImage()
bool allGray() const
void applyColorTransform(const QColorTransform &transform)
(since 6.8) void applyColorTransform(const QColorTransform &transform, QImage::Format toFormat, Qt::ImageConversionFlags flags = Qt::AutoColor)
int bitPlaneCount() const
uchar *bits()
const uchar *bits() const
qsizetype bytesPerLine() const
qint64 cacheKey() const
QRgb color(int i) const
int colorCount() const
QColorSpace colorSpace() const
QList<QRgb> colorTable() const
(since 6.4) QImage colorTransformed(const QColorTransform &transform) const &
(since 6.8) QImage colorTransformed(const QColorTransform &transform, QImage::Format toFormat, Qt::ImageConversionFlags flags = Qt::AutoColor) const &
(since 6.4) QImage colorTransformed(const QColorTransform &transform) &&
(since 6.8) QImage colorTransformed(const QColorTransform &transform, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&
const uchar *constBits() const
const uchar *constScanLine(int i) const
void convertTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor)
void convertToColorSpace(const QColorSpace &colorSpace)
(since 6.8) void convertToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor)
QImage convertToFormat(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&
QImage convertToFormat(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const &
QImage convertToFormat(QImage::Format format, const QList<QRgb> &colorTable, Qt::ImageConversionFlags flags = Qt::AutoColor) const
(since 6.0) QImage convertedTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&
(since 6.0) QImage convertedTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const &
QImage convertedToColorSpace(const QColorSpace &colorSpace) const
(since 6.8) QImage convertedToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&
(since 6.8) QImage convertedToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const &
QImage copy(const QRect &rectangle = QRect()) const
QImage copy(int x, int y, int width, int height) const
QImage createAlphaMask(Qt::ImageConversionFlags flags = Qt::AutoColor) const
QImage createHeuristicMask(bool clipTight = true) const
QImage createMaskFromColor(QRgb color, Qt::MaskMode mode = Qt::MaskInColor) const
int depth() const
(since 6.2) QSizeF deviceIndependentSize() const
qreal devicePixelRatio() const
int dotsPerMeterX() const
int dotsPerMeterY() const
void fill(uint pixelValue)
void fill(Qt::GlobalColor color)
void fill(const QColor &color)
QImage::Format format() const
bool hasAlphaChannel() const
int height() const
void invertPixels(QImage::InvertMode mode = InvertRgb)
bool isGrayscale() const
bool isNull() const
bool load(const QString &fileName, const char *format = nullptr)
bool load(QIODevice *device, const char *format)
(since 6.2) bool loadFromData(QByteArrayView data, const char *format = nullptr)
bool loadFromData(const QByteArray &data, const char *format = nullptr)
bool loadFromData(const uchar *data, int len, const char *format = nullptr)
(since 6.0) void mirror(bool horizontal = false, bool vertical = true)
QImage mirrored(bool horizontal = false, bool vertical = true) &&
QImage mirrored(bool horizontal = false, bool vertical = true) const &
QPoint offset() const
QRgb pixel(const QPoint &position) const
QRgb pixel(int x, int y) const
QColor pixelColor(const QPoint &position) const
QColor pixelColor(int x, int y) const
QPixelFormat pixelFormat() const
int pixelIndex(const QPoint &position) const
int pixelIndex(int x, int y) const
QRect rect() const
bool reinterpretAsFormat(QImage::Format format)
(since 6.0) void rgbSwap()
QImage rgbSwapped() &&
QImage rgbSwapped() 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
QImage scaled(const QSize &size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const
QImage scaled(int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const
QImage scaledToHeight(int height, Qt::TransformationMode mode = Qt::FastTransformation) const
QImage scaledToWidth(int width, Qt::TransformationMode mode = Qt::FastTransformation) const
uchar *scanLine(int i)
const uchar *scanLine(int i) const
void setAlphaChannel(const QImage &alphaChannel)
void setColor(int index, QRgb colorValue)
void setColorCount(int colorCount)
void setColorSpace(const QColorSpace &colorSpace)
void setColorTable(const QList<QRgb> &colors)
void setDevicePixelRatio(qreal scaleFactor)
void setDotsPerMeterX(int x)
void setDotsPerMeterY(int y)
void setOffset(const QPoint &offset)
void setPixel(const QPoint &position, uint index_or_rgb)
void setPixel(int x, int y, uint index_or_rgb)
void setPixelColor(const QPoint &position, const QColor &color)
void setPixelColor(int x, int y, const QColor &color)
void setText(const QString &key, const QString &text)
QSize size() const
qsizetype sizeInBytes() const
void swap(QImage &other)
QString text(const QString &key = QString()) const
QStringList textKeys() const
CGImageRef toCGImage() const
(since 6.0) HBITMAP toHBITMAP() const
(since 6.0) HICON toHICON(const QImage &mask = {}) const
QImage transformed(const QTransform &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const
bool valid(const QPoint &pos) const
bool valid(int x, int y) const
int width() const
QVariant operator QVariant() const
bool operator!=(const QImage &image) const
QImage &operator=(QImage &&other)
QImage &operator=(const QImage &image)
bool operator==(const QImage &image) const

静的パブリックメンバ

(since 6.2) QImage fromData(QByteArrayView data, const char *format = nullptr)
QImage fromData(const QByteArray &data, const char *format = nullptr)
QImage fromData(const uchar *data, int size, const char *format = nullptr)
(since 6.0) QImage fromHBITMAP(HBITMAP hbitmap)
(since 6.0) QImage fromHICON(HICON icon)
QImage::Format toImageFormat(QPixelFormat format)
QPixelFormat toPixelFormat(QImage::Format format)
QTransform trueMatrix(const QTransform &matrix, int width, int height)
QImageCleanupFunction
QDataStream &ストリームoperator<<(QDataStream&stream, const QImage&image)
データストリームoperator>>(QDataStream&stream, QImage&image)

詳しい説明

Qt は画像データを扱うための 4 つのクラスを提供しています:QImage,QPixmap,QBitmap,QPicture です。QImageはI/O、ピクセルへの直接アクセスと操作のために設計され最適化されています。QPixmap はスクリーン上に画像を表示するために設計され最適化されています。QBitmapQPixmap を継承した便利なクラスで、深さは1です。最後に、QPicture クラスはQPainter コマンドを記録し再生するペイントデバイスです。

QImageはQPaintDevice のサブクラスなので、QPainter を使って画像に直接描画することができます。QImage上でQPainter 、現在のGUIスレッドとは別のスレッドで描画を行うことができます。

QImageクラスは、Format enumで記述されたいくつかの画像フォーマットをサポートしています。これらには、モノクロ、8ビット、32ビット、アルファブレンドの画像が含まれ、Qt 4.xのすべてのバージョンで利用可能です。

QImage は、画像に関する様々な情報を取得するために使用できる関数のコレクションを提供します。また、画像の変換を可能にする関数もいくつかあります。

QImage クラスは暗黙のデータ共有を使っているので、QImage オブジェクトは値で渡すことができます。QImageオブジェクトはストリーミングや比較も可能です。

注意 : Qt の静的ビルドで QImage オブジェクトをロードしたい場合は、Plugin HowTo を参照してください。

警告 QImage::Format_Indexed8 またはQImage::Format_CMYK8888 フォーマットの QImage へのペイントはサポートされていません。

画像ファイルの読み込みと書き込み

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

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

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

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

画像情報

QImageには、画像に関する様々な情報を取得するための関数が用意されています:

利用可能な関数
ジオメトリsize ()、width ()、height ()、dotsPerMeterX ()、dotsPerMeterY ()関数は、画像のサイズと縦横比に関する情報を提供します。

rect() 関数は、画像を囲む矩形を返します。valid() 関数は、与えられた座標の組がこの矩形内にあるかどうかを示す。offset setOffset() 関数は、画像が他の画像と相対的に配置されるときのオフセットピクセル数を返します。

ピクセルの座標をpixel() 関数に渡すと、そのピクセルの色を取得できます。pixel() 関数は、画像のフォーマットに依存しないQRgb 値として色を返します。

モノクロ画像や8ビット画像の場合、colorCount ()とcolorTable ()関数は、画像データの保存に使用された色成分に関する情報を提供します:colorTable ()関数は、画像のカラーテーブル全体を返します。単一のエントリを取得するには、pixelIndex ()関数を使用して、与えられた座標のペアのピクセルインデックスを取得し、color ()関数を使用して色を取得します。8ビット画像を手動で作成する場合は、その画像にも有効なカラーテーブルを設定する必要があることに注意してください。

hasAlphaChannel ()関数は、画像のフォーマットがアルファチャンネルを尊重しているかどうかを判別します。allGray ()とisGrayscale ()関数は、画像の色がすべてグレーの濃淡であるかどうかを判定します。

Pixel Manipulation およびImage Transformations のセクションも参照。

テキストtext() 関数は、指定したテキストキーに対応する画像のテキストを返します。画像のテキストキーはtextKeys() 関数で取得できます。画像のテ キ ス ト を変更す る にはsetText ()関数を用います。
低レベル情報depth() 関数は、画像の深度を返します。サポートされるビット深度は、1 (モノクロ)、8、16、24 および 32 ビットです。bitPlaneCount() 関数は、そのうちの何ビットが使用されているかを表します。詳細はImage Formats のセクションを参照。

format ()、bytesPerLine ()、sizeInBytes ()関数は、画像に保存されているデータに関する低レベルの情報を提供します。

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

ピクセルの操作

画像のピクセルを操作するための関数は、画像フォーマットによって異なります。モノクロ画像や8ビット画像はインデックスベースでカラールックアップテーブルを使いますが、32ビット画像はARGB値を直接保存するからです。画像フォーマットについてはImage Formats の項を参照。

32ビット画像の場合、setPixel ()関数を使うと、与えられた座標にあるピクセルの色を、ARGBの4値として指定された他の任意の色に変更することができます。適切なQRgb 値を作成するには、qRgb() (与えられた RGB 値にデフォルトのアルファ成分を追加、つまり不透明色を作成)またはqRgba() 関数を使用します。例えば

32ビット
QImage image(3, 3, QImage::Format_RGB32);
QRgb value;

value = qRgb(189, 149, 39); // 0xffbd9527
image.setPixel(1, 1, value);

value = qRgb(122, 163, 39); // 0xff7aa327
image.setPixel(0, 1, value);
image.setPixel(1, 0, value);

value = qRgb(237, 187, 51); // 0xffedba31
image.setPixel(2, 1, value);

8ビット画像やモノクロ画像の場合、ピクセル値は画像のカラーテーブルからのインデックスにすぎません。つまり、setPixel ()関数は、指定された座標のピクセルの色を、画像のカラーテーブルからあらかじめ定義された色に変更するためにしか使えません。画像のカラーテーブルの色を変更したり追加したりするには、setColor ()関数を使います。

カラーテーブルのエントリは、QRgb 値としてエンコードされた ARGB 4 値です。qRgb() およびqRgba() 関数を使用して、setColor() 関数で使用するための適切なQRgb 値を作成します。例えば

8 ビット
QImage image(3, 3, QImage::Format_Indexed8);
QRgb value;

value = qRgb(122, 163, 39); // 0xff7aa327
image.setColor(0, value);

value = qRgb(237, 187, 51); // 0xffedba31
image.setColor(1, value);

value = qRgb(189, 149, 39); // 0xffbd9527
image.setColor(2, value);

image.setPixel(0, 1, 0);
image.setPixel(1, 0, 0);
image.setPixel(1, 1, 2);
image.setPixel(2, 1, 1);

カラーチャンネルあたり8ビット以上の画像の場合。メソッドsetPixelColor() およびpixelColor() を使用して、QColor 値を設定および取得できます。

QImage には、与えられたインデックスの走査線上のピクセルデータへのポインタを返すscanLine() 関数と、最初のピクセルデータへのポインタを返すbits() 関数もあります(これはscanLine(0) と同等です)。

画像フォーマット

QImage に格納される各ピクセルは整数で表現されます。整数のサイズはフォーマットによって異なります。QImage は、Format enum で記述されているいくつかの画像形式をサポートしています。

モノクロ画像は、最大 2 色のカラーテーブルへの 1 ビットインデックスを使用して格納されます。モノクロ画像には、ビッグエンディアン(MSBファースト)とリトルエンディアン(LSBファースト)の2種類があります。

8ビット画像は8ビットインデックスを使ってカラーテーブルに格納されます。カラーテーブルはQList<QRgb> であり、QRgb typedef は 0xAARRGGBB フォーマットの ARGB 4 値を含む符号なし int と等価です。

32ビット画像はカラーテーブルを持たず、各ピクセルにQRgb 。32ビット画像には3種類あり、それぞれRGB(つまり0xffRRGGBB)、ARGB、事前乗算ARGB値を格納しています。事前乗算形式では、赤、緑、青の各チャンネルに、255で割ったアルファ成分が乗算されます。

画像のフォーマットは、format() 関数を使用して取得できます。画像を別の形式に変換するには、convertToFormat ()関数を使用します。allGray() およびisGrayscale() 関数は、カラー画像を安全にグレースケール画像に変換できるかどうかを判定します。

画像の変換

QImage は、元の画像を変換した新しい画像を作成するための関数を多数サポートしています:createAlphaMask ()関数は、この画像のアルファバッファから1-bppのマスクを作成して返します。また、createHeuristicMask ()関数は、この画像の1-bppのヒューリスティックマスクを作成して返します。後者の関数は,角の1つから色を選択し,その色のピクセルをすべてのエッジから削っていきます.

mirrored ()関数は、希望する方向の画像のミラーを返し、scaled ()関数は、希望する尺度の矩形にスケーリングされた画像のコピーを返し、rgbSwapped ()関数は、RGB画像からBGR画像を構築する。

scaledToWidth() とscaledToHeight() 関数は、画像のスケーリングされたコピーを返す。

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

画像の属性をインプレースで変更する関数もあります:

関数説明
setDotsPerMeterX()物理メータに水平に収まるピクセル数を設定することで、アスペクト比を定義します。
setDotsPerMeterY()物理メーターの縦方向のピクセル数を設定することにより、アスペクト比を定義します。
fill()画像全体を指定したピクセル値で埋めます。
invertPixels()画像内のすべてのピクセル値を、指定されたInvertMode 値で反転します。
setColorTable()カラーインデックスの変換に使用するカラーテーブルを設定します。モノクロおよび 8 ビット形式のみ。
setColorCount()カラーテーブルのサイズを変更します。モノクロおよび 8 ビット形式のみ。

QImageReader,QImageWriter,QPixmap,QSvgRenderer,画像合成の例, および落書きの例も 参照

メンバ型ドキュメント

enum QImage::Format

Qt では以下の画像フォーマットが利用できます。表の後の注釈を参照してください。

定数説明
QImage::Format_Invalid0画像は無効です。
QImage::Format_Mono1画像はピクセルあたり1ビットで保存される。バイトは最上位ビット(MSB)を先頭にパックされる。
QImage::Format_MonoLSB2画像はピクセルあたり1ビットで保存される。バイトは下位ビット(LSB)から順にパックされる。
QImage::Format_Indexed83画像は8ビットのインデックスを使ってカラーマップに格納される。
QImage::Format_RGB324画像は32ビットRGBフォーマット(0xffRRGGBB)で保存されます。
QImage::Format_ARGB325画像は32ビットARGBフォーマット(0xAARRGGBB)を用いて格納される。
QImage::Format_ARGB32_Premultiplied6すなわち、赤、緑、青の各チャンネルに、アルファ成分を255で割った値が乗算される。(RR、GG、BBがアルファチャンネルより大きい値を持つ場合、結果は不定です)。特定の操作 (アルファブレンドを使った画像合成など) は、 ARGB32 をそのまま使うよりも、 事前乗算された ARGB32 を使ったほうが高速になります。
QImage::Format_RGB167画像は16ビットRGBフォーマット(5-6-5)で保存されます。
QImage::Format_ARGB8565_Premultiplied8画像は、事前乗算された24ビットARGBフォーマット(8-5-6-5)を使用して保存されます。
QImage::Format_RGB6669画像は24ビットRGBフォーマット(6-6-6)で保存される。未使用の最上位ビットは常に0である。
QImage::Format_ARGB6666_Premultiplied10画像は、事前乗算された 24 ビット ARGB フォーマット(6-6-6-6)を用いて保存される。
QImage::Format_RGB55511画像は16ビットRGBフォーマット(5-5-5)で保存される。未使用の最上位ビットは常に0である。
QImage::Format_ARGB8555_Premultiplied12画像は、事前乗算された 24 ビット ARGB フォーマット(8-5-5-5)を用いて保存される。
QImage::Format_RGB88813画像は24ビットRGBフォーマット(8-8-8)で保存される。
QImage::Format_RGB44414画像は16ビットRGBフォーマット(4-4-4)で保存されます。未使用ビットは常にゼロである。
QImage::Format_ARGB4444_Premultiplied15画像は、事前乗算された 16 ビット ARGB フォーマット(4-4-4-4)で保存されます。
QImage::Format_RGBX8888 (since Qt 5.2)16画像は 32 ビ ッ ト バ イ ト 順序 RGB(x) 形式 (8-8-8-8) で格納 さ れます。こ れは Format_RGBA8888 と 同 じ ですが、 ただ alpha はつねに 255 でなければな り ません。
QImage::Format_RGBA8888 (since Qt 5.2)17画像は 32 ビ ッ ト バ イ ト 順序の RGBA 形式 (8-8-8-8) で格納 さ れます。ARGB32とは異なり、これはバイト順フォーマットであるため、32ビットエンコーディングはビッグエンディアンとリトルエンディアンのアーキテクチャで異なり、それぞれ(0xRRGGBBAA)と(0xAABBGGRR)となります。色の順序は、バイト0xRR,0xGG,0xBB,0xAAとして読めば、どのアーキテクチャでも同じである。
QImage::Format_RGBA8888_Premultiplied (since Qt 5.2)18画像は、事前乗算された32ビットバイト順RGBAフォーマット(8-8-8-8)を使用して保存されます。
QImage::Format_BGR30 (since Qt 5.4)19画像は32ビットBGRフォーマット(x-10-10-10)で保存される。
QImage::Format_A2BGR30_Premultiplied (since Qt 5.4)20画像は、32 ビ ッ ト の前置加算 ABGR 形式 (2-10-10-10) で格納 さ れます。
QImage::Format_RGB30 (since Qt 5.4)21画像は32ビットRGBフォーマット(x-10-10-10)で保存される。
QImage::Format_A2RGB30_Premultiplied (since Qt 5.4)22画像は、32 ビット事前乗算 ARGB フォーマット(2-10-10-10)を用いて保存される。
QImage::Format_Alpha8 (since Qt 5.5)23画像は8ビットアルファのみのフォーマットで保存されます。
QImage::Format_Grayscale8 (since Qt 5.5)24画像は8ビットのグレースケールフォーマットで保存されます。
QImage::Format_Grayscale16 (since Qt 5.13)28画像は16ビット・グレースケール・フォーマットで保存される。
QImage::Format_RGBX64 (since Qt 5.12)25画像は64ビットのハーフワード順RGB(x)フォーマット(16-16-16-16)で保存される。これは Format_RGBA64 と同じですが、アルファ値は常に 65535 でなければなりません。
QImage::Format_RGBA64 (since Qt 5.12)26画像は 64 ビ ッ ト のハーフワー ド 順序 RGBA 形式 (16-16-16-16) で格納 さ れます。
QImage::Format_RGBA64_Premultiplied (since Qt 5.12)27画像は、事前乗算された 64 ビ ッ ト の半角順 RGBA 形式 (16-16-16-16) で格納 さ れます。
QImage::Format_BGR888 (since Qt 5.14)29画像は 24 ビ ッ ト BGR 形式で保存 さ れます。
QImage::Format_RGBX16FPx4 (since Qt 6.2)30画像は 4 つの 16 ビ ッ ト ハーフワー ド 浮動小数点 RGBx 形式 (16FP-16FP-16FP-16FP)を用いて格納される。これはFormat_RGBA16FPx4と同じですが、アルファ値は常に1.0でなければなりません。
QImage::Format_RGBA16FPx4 (since Qt 6.2)31画像は 4 つの 16 ビ ッ ト ハーフワー ド 浮動小数点 RGBA 形式 (16FP-16FP-16FP-16FP) を用いて格納 さ れます。
QImage::Format_RGBA16FPx4_Premultiplied (since Qt 6.2)32画像は、事前乗算された4つの16ビットハーフワード浮動小数点RGBAフォーマット(16FP-16FP-16FP-16FP)を使って保存されます。
QImage::Format_RGBX32FPx4 (since Qt 6.2)33画像は、 4 個の 32 ビ ッ ト 浮動小数点 RGBx 形式を用いて格納 さ れます (32FP-32FP-32FP-32FP)。これはFormat_RGBA32FPx4と同じですが、アルファ値は常に1.0でなければなりません。
QImage::Format_RGBA32FPx4 (since Qt 6.2)34画像は4つの32ビット浮動小数点RGBAフォーマット(32FP-32FP-32FP-32FP)を使って保存されます。
QImage::Format_RGBA32FPx4_Premultiplied (since Qt 6.2)35画像は、事前乗算された4つの32ビット浮動小数点RGBAフォーマット(32FP-32FP-32FP-32FP)を使って保存されます。
QImage::Format_CMYK8888 (since Qt 6.8)36画像は32ビットバイト順CMYKフォーマットで保存されます。

注意 : QImage::Format_Indexed8 または QImage::Format_CMYK8888 フォーマットのQImage への描画はサポートされていません。

注意: QPainter を使用してこれらのフォーマットのほとんどに直接レンダリングすることは避けてください。レンダリングはFormat_RGB32 およびFormat_ARGB32_Premultiplied フォーマットに最適化され、Format_RGB16,Format_RGBX8888,Format_RGBA8888_Premultiplied,Format_RGBX64 およびFormat_RGBA64_Premultiplied フォーマットへのレンダリングは二の次となります。

format() およびconvertToFormat()も参照してください

enum QImage::InvertMode

この列挙型は、invertPixels()関数においてピクセル値がどのように反転されるべきかを記述するために使用される。

定数説明
QImage::InvertRgb0RGB 値のみを反転し、アルファチャンネルは変更しない。
QImage::InvertRgba1アルファチャンネルを含むすべてのチャンネルを反転します。

invertPixels()も参照

メンバ関数のドキュメント

QImage QImage::convertToFormat(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&

QImage QImage::convertToFormat(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const &

与えられたformat の画像のコピーを返します。

指定された画像変換flags は,変換処理中に画像データがどのように扱われるかを制御します。

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

[since 6.0] QImage QImage::convertedTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&

[since 6.0] QImage QImage::convertedTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const &

与えられたformat の画像のコピーを返します。

指定された画像変換flags は、変換処理中に画像データがどのように扱われるかを制御します。

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

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

QImage QImage::mirrored(bool horizontal = false, bool vertical = true) &&

QImage QImage::mirrored(bool horizontal = false, bool vertical = true) const &

horizontalvertical が true に設定されているか false に設定されているかに応じて、水平方向または垂直方向にミラーされた画像のミラーを返します。

元の画像は変更されないことに注意してください。

mirror() およびImage Transformationsも参照

QImage QImage::rgbSwapped() &&

QImage QImage::rgbSwapped() const &

すべてのピクセルの赤成分と青成分の値が入れ替わったQImage を返し、RGB画像をBGR画像に効果的に変換します。

元のQImage は変更されない。

rgbSwap() およびImage Transformationsも参照

[since 6.8] QImage QImage::convertedToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&

[since 6.8] QImage QImage::convertedToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const &

colorSpace およびformat に変換された画像を返す。

画像に有効な色空間がない場合は、NULLQImage が返されます。

指定された画像変換flags は、フォーマット変換処理中に画像データがどのように扱われるかを制御します。

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

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

[noexcept] QImage::QImage()

null 画像を構築します。

isNull()も参照

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

与えられたxpm 画像から画像を構築する。

画像が有効なXPM画像であることを確認してください。エラーは無視されます。

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

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

余分なconst 、定義全体を読み取り専用にすることで、(コードが共有ライブラリにある場合など)少し効率的になり、アプリケーションと一緒にROMに保存できるようになります。

QImage::QImage(const QSize &size, QImage::Format format)

与えられたsizeformat で画像を構築します。

メモリが確保できない場合はnull の画像が返されます。

警告: これは、初期化されていないデータを持つ QImage を作成します。QPainter で画像に描画する前に、fill() を呼び出して、適切なピクセル値で画像を塗りつぶします。

[explicit] QImage::QImage(const QString &fileName, const char *format = nullptr)

画像を構築し、与えられたfileName のファイルから画像をロードしようとします。

ローダは、指定されたformat を使って画像の読み込みを試みます。format が指定 さ れていない と き (デフ ォ ル ト ) は、 フ ァ イ ルの接尾辞 と ヘ ッ ダに基づいて自動検出 さ れます。詳しくは {QImageReader::setAutoDetectImageFormat()}{QImageReader} を参照。

画像の読み込みに失敗した場合、このオブジェクトはヌル画像となります。

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

isNull() およびReading and Writing Image Filesも参照してください

QImage::QImage(int width, int height, QImage::Format format)

与えられたwidthheightformat で画像を構築します。

メモリが確保できない場合はnull の画像が返されます。

警告: これは、初期化されていないデータを持つ QImage を作成します。QPainter で画像に描画する前に、fill() を呼び出して、適切なピクセル値で画像を塗りつぶします。

QImage::QImage(const uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)

与えられたwidthheightformat を使って、既存の読み取り専用メモリバッファdata を使う画像を構築します。widthheight はピクセル単位で指定し、data は 32 ビットアライメントでなければならず、画像内の各スキャンラインデータも 32 ビットアライメントでなければなりません。

このバッファは、QImageの寿命が尽きるまで有効であり続けなければならず、元のバッファから変更されたり切り離されたりしていないすべてのコピーが有効でなければなりません。画像は破棄時にバッファを削除しません。最後のコピーが破棄されるときに呼び出される関数ポインタcleanupFunction を,追加ポインタcleanupInfo とともに提供することができます.

format がインデックス付きカラーフォーマットの場合、画像のカラーテーブルは初期状態では空であり、画像を使用する前にsetColorCount() またはsetColorTable() で十分に拡張する必要があります。

non const データバッファを受け取る類似の QImage コンストラクタとは異なり、このバージョンはバッファの内容を決して変更しません。たとえば、QImage::bits() を呼び出すと、コンストラクタに渡されたバッファではなく、画像のディープコピーが返されます。これにより、生データが変更される可能性を排除し、生データから QImage を構築する効率性を得ることができます。

QImage::QImage(uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)

与えられたwidthheightformat を使って、既存のメモリバッファdata を使う画像を構築します。widthheight はピクセル単位で指定し、data は 32 ビットアライメントでなければならず、画像内の各スキャンラインデータも 32 ビットアライメントでなければなりません。

このバッファは、QImageの寿命が尽きるまで有効であり続けなければならず、元のバッファから変更されたり切り離されたりしていないすべてのコピーが有効でなければなりません。画像は破棄時にバッファを削除しません。最後のコピーが破棄されるときに呼び出される関数ポインタcleanupFunction を,追加ポインタcleanupInfo とともに提供することができます.

format が イ ンデ ッ ク ス付き カ ラ ーフ ォーマ ッ ト の場合、 画像のカ ラ ーテーブルは初期状態では空であ り 、 画像を使 う 前にsetColorCount () かsetColorTable () で十分拡げてお く 必要があ り ます。

QImage::QImage(const uchar *data, int width, int height, qsizetype bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)

指定されたwidthheightformat で画像を構築し、既存のメモリバッファdata を使用する。widthheight はピクセル単位で指定しなければなりません。bytesPerLine は1行あたりのバイト数(ストライド)を指定します。

このバッファは,QImage の寿命が尽きるまで,また,元のバッファから変更されたり切り離されたりしていないすべてのコピーに対して,有効であり続けなければなりません.イメージは破棄時にバッファを削除しません。最後のコピーが破棄されたときに呼び出される関数ポインタcleanupFunction を,追加ポインタcleanupInfo とともに提供することができます.

format がインデックス付きカラーフォーマットの場合、画像のカラーテーブルは初期状態では空であり、画像を使用する前にsetColorCount() またはsetColorTable() で十分に拡張する必要があります。

non-const データバッファを受け取る類似の QImage コンストラクタとは異なり、このバージョンはバッファの内容を決して変更しません。たとえば、QImage::bits() を呼び出すと、コンストラクタに渡されたバッファではなく、画像のディープコピーが返されます。これにより、生データが変更される可能性を排除し、生データから QImage を構築する効率を高めることができます。

QImage::QImage(uchar *data, int width, int height, qsizetype bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)

指定されたwidthheightformat で画像を構築し、既存のメモリバッファdata を使用する。widthheight はピクセル単位で指定しなければなりません。bytesPerLine は1行あたりのバイト数(ストライド)を指定します。

このバッファは,QImage の寿命が尽きるまで,また,元のバッファから変更されたり切り離されたりしていないすべてのコピーに対して,有効であり続けなければなりません.イメージは破棄時にバッファを削除しません。最後のコピーが破棄されたときに呼び出される関数ポインタcleanupFunction を,追加ポインタcleanupInfo とともに提供することができます.

format が イ ンデ ッ ク ス付き カ ラ ーフ ォーマ ッ ト の場合、 画像のカ ラ ーテーブルは初期状態では空であ り 、 画像を使 う 前にsetColorCount () かsetColorTable () で十分拡げてお く 必要があ り ます。

QImage::QImage(const QImage &image)

与えられたimage のシャローコピーを構築する。

シャローコピーの詳細については、暗黙的データ共有のドキュメントを参照ください。

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

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

Move-QImageインスタンスを構築し、other が指していたのと同じオブジェクトを指すようにする。

[virtual noexcept] QImage::~QImage()

イメージを破壊し、クリーンアップする。

bool QImage::allGray() const

画像のすべての色がグレーの濃淡である(つまり、赤、緑、青の成分が等しい)場合はtrue を返し、そうでない場合は false を返します。

そうでない場合は false。 この関数は,色テーブルを持たない画像に対しては遅いことに注意してください。

isGrayscale()も参照

void QImage::applyColorTransform(const QColorTransform &transform)

画像のすべてのピクセルに色変換transform を適用する。

[since 6.8] void QImage::applyColorTransform(const QColorTransform &transform, QImage::Format toFormat, Qt::ImageConversionFlags flags = Qt::AutoColor)

画像のすべてのピクセルに色変換transform を適用し、画像のフォーマットをtoFormat に変換します。

指定された画像変換flags は、フォーマット変換処理中に画像データがどのように扱われるかを制御します。

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

int QImage::bitPlaneCount() const

画像のビットプレーン数を返す。

ビットプレーン数とは、各ピクセルの色情報と透明度情報のビット数である。これは、画像フォーマットに未使用ビットが含まれている場合の深度とは異なります(つまり、深度よりも小さくなります)。

depth(),format(),Image Formatsも参照

uchar *QImage::bits()

最初のピクセルデータへのポインタを返す。これはscanLine(0) と等価である。

QImage暗黙のデータ共有を使っていることに注意。この関数は、共有ピクセルデータのディープコピーを実行するため、このQImage が現在の戻り値を使用する唯一のものであることを保証する。

scanLine()、sizeInBytes()、constBits()も参照

const uchar *QImage::bits() const

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

QImage暗黙的なデータ共有を使っているが、返されるデータは const なので、この関数は共有ピクセルデータのディープコピーを行わないことに注意。

qsizetype QImage::bytesPerLine() const

画像の走査線あたりのバイト数を返す。

これは、height() がゼロでない場合、sizeInBytes() /height() と等価である。

scanLine()も参照

qint64 QImage::cacheKey() const

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

キーは、画像が変更されたときに変更されます。

QRgb QImage::color(int i) const

カラーテーブルのインデックスi にある色を返す。最初の色はインデックス 0 です。

画像のカラーテーブルの色は、ARGB の四分値 (QRgb) として指定されます。色値の構成要素を取得するには、qAlpha(),qRed(),qGreen(),qBlue() 関数を使用します。

setColor(),pixelIndex(),Pixel Manipulationも参照

int QImage::colorCount() const

画像のカラーテーブルのサイズを返します。

32-bpp 画像の場合、 colorCount() は 0 を返す こ と に注意 し て く だ さ い。 こ れは、 こ れ ら の画像はカ ラ ーテーブルを使わず、 ピ ク セル値を ARGB 4 分割子 と し てエン コ ー ド し てい る か ら です。

setColorCount() およびImage Informationも参照

QColorSpace QImage::colorSpace() const

色空間が定義されている場合に、画像の色空間を返します。

setColorSpace()も参照 ください。

QList<QRgb> QImage::colorTable() const

画像のカラーテーブルに含まれる色のリストを返します。 画像にカラーテーブルがない場合は空のリストを返します。

setColorTable()、colorCount() およびcolor()も参照 ください。

[since 6.4] QImage QImage::colorTransformed(const QColorTransform &transform) const &

画像の全ピクセルをtransform で色変換した画像を返します。

注意: transform がこの画像のフォーマットと互換性のない変換元色空間を持つ場合、 nullQImage を返します。transform がこの画像のフォーマットと互換性のないターゲット色空間を持っている場合、 画像も互換性のあるフォーマットに変換されます。ターゲットピクセル形式の選択に関するより詳細な制御については、このメソッドの3つの引数のオーバーロードを参照してください。

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

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

[since 6.8] QImage QImage::colorTransformed(const QColorTransform &transform, QImage::Format toFormat, Qt::ImageConversionFlags flags = Qt::AutoColor) const &

画像の全ピクセルをtransform で色変換し、toFormat 形式の画像を返します。

指定された画像変換flags は、フォーマット変換処理中に画像データがどのように扱われるかを制御します。

注意: transform に,この画像のフォーマットと互換性のない変換元色空間があるか,toFormat と互換性のない変換先色空間がある場合, nullQImage を返します.

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

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

[since 6.4] QImage QImage::colorTransformed(const QColorTransform &transform) &&

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

画像内のすべてのピクセルに対してtransform を使って変換された画像の色を返します。

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

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

[since 6.8] QImage QImage::colorTransformed(const QColorTransform &transform, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&

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

画像内のすべてのピクセルに対してtransform を使って変換された画像の色を返します。

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

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

const uchar *QImage::constBits() const

最初のピクセルデータへのポインタを返す。

QImage暗黙的なデータ共有を使っているが、返されるデータは const なので、この関数は共有ピクセルデータのディープコピーを行わないことに注意。

bits() およびconstScanLine()も参照

const uchar *QImage::constScanLine(int i) const

インデックスi のスキャンラインのピクセルデータへのポインタを返す。最初のスキャンラインはインデックス0である。

スキャンラインデータは最小32ビットアラインメントである。64ビットフォーマットでは、64ビット整数のネイティブアライメントに従います(ほとんどのプラットフォームでは64ビットですが、特にi386では32ビットです)。

QImage暗黙のデータ共有を使っているが、返されるデータは const なので、この関数は共有ピクセルデータのディープコピーを行わないことに注意。

scanLine() およびconstBits()も参照

void QImage::convertTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor)

画像を,与えられたformat の場所に変換し,必要なら切り離す。

指定された画像変換flags は,変換処理中に画像データがどのように扱われるかを制御します。

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

void QImage::convertToColorSpace(const QColorSpace &colorSpace)

画像をcolorSpace に変換します。

画像に有効な色空間がない場合、このメソッドは何もしません。

注意: colorSpace が現在のフォーマットと互換性がない場合、画像は互換性のあるものに変換されます。

convertedToColorSpace() およびsetColorSpace()も参照

[since 6.8] void QImage::convertToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor)

画像をcolorSpaceformat に変換します。

画像に有効な色空間がない場合、このメソッドは何もせず、色空間がフォーマットと互換性がない場合も何もしません。

指定された画像変換flags は、フォーマット変換処理中に画像データがどのように扱われるかを制御します。

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

convertedToColorSpace() およびsetColorSpace()も参照してください

QImage QImage::convertToFormat(QImage::Format format, const QList<QRgb> &colorTable, Qt::ImageConversionFlags flags = Qt::AutoColor) const

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

指定されたcolorTable を用いて,与えられたformat に変換された画像のコピーを返します。

RGBフォーマットからインデックス付きフォーマットへの変換は遅い処理であり、ディザリングは行わず、単純な最近接色アプローチを使用します。

QImage QImage::convertedToColorSpace(const QColorSpace &colorSpace) const

colorSpace に変換した画像を返す。

画像に有効な色空間がない場合は、NULLQImage が返されます。

注意: colorSpace が現在のフォーマットと互換性がない場合、返される画像も互換性のあるフォーマットに変換されます。返される画像フォーマットをより詳細に制御するには、このメソッドの3つの引数のオーバーロードを参照してください。

convertToColorSpace() およびcolorTransformed()も参照

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

画像のサブ領域を新しい画像として返します。

返 さ れ る 画像は、 こ の画像内の位置 (rectangle.x(),rectangle.y() )か ら コ ピー さ れ、 与え ら れたrectangle のサ イ ズ を必ず持ち ます。

Qt::color032 ビット RGB 画像の場合、 こ れは黒を意味 し 、 32 ビ ッ ト ARGB 画像の場合、 こ れは透過な黒を意味 し ます。 8 ビ ッ ト 画像の場合、 こ れはカ ラ ーテーブルの添字 0 の色を意味 し 、 何であってもかまいません。

与えられたrectangle がヌル矩形の場合,画像全体がコピーされます。

QImage)も参照してください

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

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

返される画像は、この画像内の位置 (x,y) からコピーされ、常に与えられたwidthheight を持ちます。 この画像を超える領域では、ピクセルは 0 に設定されます。

QImage QImage::createAlphaMask(Qt::ImageConversionFlags flags = Qt::AutoColor) const

この画像のアルファバッファから 1-bpp マスクを構築して返します。画像のフォーマットがQImage::Format_RGB32 の場合、NULL 画像を返します。

引数flags は、Qt::ImageConversionFlags のビット OR であり、変換処理を制御します。flags に 0 を渡すと,すべてのデフォルトオプションが設定されます。

返される画像のビット順序はリトルエンディアン(つまり、画像のフォーマットはQImage::Format_MonoLSB )です。convertToFormat ()関数を使うことで、ビッグエンディアン(QImage::Format_Mono )に変換することができます。

createHeuristicMask() およびImage Transformationsも参照して ください。

QImage QImage::createHeuristicMask(bool clipTight = true) const

この画像に対して1-bppのヒューリスティックマスクを作成して返します。

この関数は,四隅の1つから色を選択し,その色のピクセルをすべての辺から削っていきます.4つの角は、どの色をマスクするか投票する。引き分け(これは一般に、この関数が画像に適用できないことを意味する)の場合、結果は任意である。

返 さ れ る 画像のビ ッ ト 順序は リ ト ルエンデ ィ ア ンです (すなわち、 画像のフォーマ ッ ト はQImage::Format_MonoLSB )。convertToFormat ()関数を使っ て、 ビ ッ グエンデ ィ ア ン (QImage::Format_Mono )に変換す る こ と がで き ます。

clipTight が true の場合(デフォルト)、マスクはピクセルをカバーするのに十分な大きさになります。

この関数はアルファバッファを無視することに注意。

createAlphaMask() およびImage Transformationsも参照のこと

QImage QImage::createMaskFromColor(QRgb color, Qt::MaskMode mode = Qt::MaskInColor) const

与えられたcolor の値に基づいて、この画像のマスクを作成して返します。mode が MaskInColor (デフォルト値)の場合、color にマッチするすべてのピクセルがマスク内の不透明ピクセルになります。mode が MaskOutColor の場合,与えられた色にマッチするすべてのピクセルは透明になります。

createAlphaMask() およびcreateHeuristicMask()も参照

int QImage::depth() const

画像の深度を返します。

画像の深度とは、1つのピクセルを格納するのに使われるビット数のことで、bpp(bits per pixel)とも呼ばれます。

サポートされる深度は、1、8、16、24、32、64 です。

bitPlaneCount()、convertToFormat()、Image Formats 、およびImage Informationも参照

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

デバイス非依存のピクセル単位で画像のサイズを返します。

この値は、ユーザーインターフェイスのサイズ計算で画像サイズを使用するときに使用する必要があります。

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

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

qreal QImage::devicePixelRatio() const

device pixel ratio 画像のデバイスピクセル比率を返します。こ れは、デバ イ ス ピ ク セルデバ イ ス独立ピ ク セルの比率です。

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

デフ ォル ト 値は 1.0 です。

setDevicePixelRatio() およびQImageReaderも参照

int QImage::dotsPerMeterX() const

物理メータに水平に収まるピクセル数を返す。dotsPerMeterY() とともに、この数値は、画像の意図するスケールとアスペクト比を定義する。

setDotsPerMeterX() およびImage Informationも参照

int QImage::dotsPerMeterY() const

物理メータに縦に収まるピクセル数を返す。dotsPerMeterX() とともに、この数値は画像の意図するスケールとアスペクト比を定義する。

setDotsPerMeterY() およびImage Informationも参照

void QImage::fill(uint pixelValue)

画像全体を,与えられたpixelValue で埋めます。

この画像の深度が1の場合、最下位ビットのみが使用される。fill(0)、fill(2) などと指定すると、画像は 0 で塗りつぶされる。fill(1)、fill(3) などとすると、画像は 1 で塗りつぶされる。深度が8の場合、最下位の8ビットが使用され、深度が16の場合、最下位の16ビットが使用される。

画像の深度が32ビットより大きい場合、結果は未定義である。

注意: 対応する値ゲッターはありませんが、インデックス付きフォーマットの場合はQImage::pixelIndex() が、RGB32、ARGB32、ARGB32PM フォーマットの場合はQImage::pixel() が同じ値を返します。

depth() およびImage Transformationsも参照

void QImage::fill(Qt::GlobalColor color)

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

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

void QImage::fill(const QColor &color)

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

画像全体を,与えられたcolor で埋めます。

画像の深度が 1 の場合,colorQt::color1 と等しければ,画像は 1 で塗りつぶされます; そうでなければ 0 で塗りつぶされます。

画像の深度が 8 の場合,カラーテーブルcolor が存在すれば,それに対応するインデックスで塗りつぶされます.

QImage::Format QImage::format() const

画像のフォーマットを返します。

Image Formatsも参照ください

[static, since 6.2] QImage QImage::fromData(QByteArrayView data, const char *format = nullptr)

与えられたQByteArrayView data から画像を構築する。ローダーは、指定されたformat を使って画像の読み込みを試みます。format が指定されていない場合 (デフォルト)、ローダーはファイル形式を推測するためのヘッダーをデータから探します。

format が指定された場合、QImageReader::supportedImageFormats() が返す値のいずれかでなければならない。

画像の読み込みに失敗した場合、返される画像はヌル画像になります。

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

load()、save()、Reading and Writing Image Filesも参照してください

[static] QImage QImage::fromData(const QByteArray &data, const char *format = nullptr)

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

与えられたQByteArray data からQImage を構築する。

[static] QImage QImage::fromData(const uchar *data, int size, const char *format = nullptr)

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

与えられたバイナリdata の最初のsize バイトからQImage を構築する。

[static, since 6.0] QImage QImage::fromHBITMAP(HBITMAP hbitmap)

与えられたhbitmap と等価なQImage を返す。

HBITMAP はアルファチャンネルに関する情報を保存しません。

標準的な場合、アルファチャンネルは無視され、完全に不透明な画像が作成されます(通常、QImage::Format_RGB32 の形式)。

しかし、アプリケーションアイコンやシストレイアイコンなど、アルファチャンネルを使用する場合もあります。その場合、reinterpretAsFormat(QImage::Format_ARGB32) を呼び出して、返される画像のフォーマットが正しいことを確認する必要があります。

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

toHBITMAP() およびreinterpretAsFormat()も参照してください

[static, since 6.0] QImage QImage::fromHICON(HICON icon)

与えられたicon と等価なQImage を返します。

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

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

bool QImage::hasAlphaChannel() const

画像がアルフ ァ チ ャ ン ネルを尊重 し た形式であ る と き はtrue を返し、 そ う でなければfalse を返します。

Image Informationも参照してください

int QImage::height() const

画像の高さを返します。

Image Informationも参照ください

void QImage::invertPixels(QImage::InvertMode mode = InvertRgb)

画像のすべてのピクセル値を反転します。

与えられた invertmode は、画像の深度が 32 のときのみ意味を持ちます。デフォルトのmodeInvertRgb で、 アルファチャンネルは変更されません。modeInvertRgba の場合、 アルフ ァ ビ ッ ト も 反転 さ れます。

8 ビ ッ ト 画像を反転 さ せ る と い う こ と は、 色ンデ ッ ク スiを用い る すべての画素を、 色イ ンデ ッ ク ス 255 からi を引いた画素で置き換えることを意味します。カラーテーブルは変更されないことに注意。

アルフ ァ チ ャ ン ネルが事前に乗算 さ れてい る 画像の場合、 その画像はまず、 乗算 さ れていない画像形式に変換 さ れて反転 さ れ、 そ し て再び変換 さ れます。

Image Transformationsも参照

bool QImage::isGrayscale() const

32 ビ ッ ト 画像の場合、 こ の関数はallGray () と 等価です。

カラーインデックス付き画像の場合,この関数は,カラーテーブルのすべてのインデックスに対して color(i) がQRgb(i, i, i) であればtrue を返し,そうでなければfalse を返します.

allGray() およびImage Formatsも参照

bool QImage::isNull() const

ヌル画像の場合はtrue を返し、そうでない場合はfalse を返す。

ヌル画像は、すべてのパラメータがゼロに設定され、割り当てられたデータはありません。

bool QImage::load(const QString &fileName, const char *format = nullptr)

与えられたfileName のファイルから画像を読み込みます。画像の読み込みに成功した場合はtrue を返し、失敗した場合は画像を無効にしてfalse を返します。

ローダーは、指定されたformat (PNG や JPG など)を使って画像の読み込みを試みます。format が指定されていない場合(デフォルト)、ファイルの接尾辞とヘッダーから自動検出される。詳細については、QImageReader::setAutoDetectImageFormat()を参照のこと。

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

Reading and Writing Image Filesも参照してください

bool QImage::load(QIODevice *device, const char *format)

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

この関数は、与えられたdevice からQImage を読み込みます。これは例えば、画像をQByteArray に直接読み込むために使用することができます。

[since 6.2] bool QImage::loadFromData(QByteArrayView data, const char *format = nullptr)

与えられたQByteArrayView data から画像を読み込みます。画像の読み込みに成功した場合はtrue を返し、失敗した場合は画像を無効にしてfalse を返します。

ローダーは、指定されたformat (PNGやJPGなど)を使って画像の読み込みを試みます。format が指定されていない場合(デフォルト)、ローダーはファイル形式を推測するためにファイルにヘッダーをプローブします。

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

Reading and Writing Image Filesも参照してください

bool QImage::loadFromData(const QByteArray &data, const char *format = nullptr)

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

与えられたQByteArray data から画像を読み込みます。

bool QImage::loadFromData(const uchar *data, int len, const char *format = nullptr)

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

与えられたバイナリdata の最初のlen バイトから画像を読み込みます。

[since 6.0] void QImage::mirror(bool horizontal = false, bool vertical = true)

horizontalvertical が true に設定されているか false に設定されているかに応じて、水平方向と垂直方向に画像をミラーします。

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

mirrored() およびImage Transformationsも参照してください

QPoint QImage::offset() const

他の画像との相対位置合わせの際に、 画像がオフセットされるピクセル数を返します。

setOffset() およびImage Informationも参照

QRgb QImage::pixel(const QPoint &position) const

与えられたposition のピクセルの色を返す。

position が有効でない場合、結果は未定義である。

警告 この関数は、大量のピクセル操作に使用する場合、コストが高くなります。多くのピクセルを読み込む必要がある場合は、constBits() またはconstScanLine() を使用してください。

setPixel(),valid(),constBits(),constScanLine(),Pixel Manipulationも参照

QRgb QImage::pixel(int x, int y) const

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

座標 (x,y) にあるピクセルの色を返す。

QColor QImage::pixelColor(const QPoint &position) const

与えられたposition のピクセルの色をQColor として返す。

position が有効でない場合、無効なQColor が返される。

警告 この関数は、大量のピクセル操作に使用する場合、コストが高くなります。多くのピクセルを読み込む必要がある場合は、constBits() またはconstScanLine() を使用すること。

setPixelColor()、setPixel()、valid()、constBits()、constScanLine()、Pixel Manipulationも参照

QColor QImage::pixelColor(int x, int y) const

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

座標 (x,y) にあるピクセルの色をQColor として返します。

[noexcept] QPixelFormat QImage::pixelFormat() const

QImage::FormatQPixelFormat

int QImage::pixelIndex(const QPoint &position) const

与えられたposition のピクセルインデックスを返す。

position が有効でない場合、あるいは画像がパレット画像でない場合 (depth() > 8)、結果は未定義。

valid(),depth(),Pixel Manipulationも参照

int QImage::pixelIndex(int x, int y) const

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

(x,y) におけるピクセルインデックスを返す。

QRect QImage::rect() const

画像を囲む矩形 (0, 0,width(),height()) を返します。

Image Informationも参照してください

bool QImage::reinterpretAsFormat(QImage::Format format)

データを変更せずに画像のフォーマットをformat に変更します。同じ深さのフォーマット間でのみ動作します。

成功した場合はtrue を返します。

この関数は、データが不透明のみであることがわかっている場合に、 アルファチャンネルを持つ画像を対応する不透明なフォーマットに変更したり、 新しいデータで上書きする前に、与えられた画像バッファのフォーマットを変更したりするために使うことができます。

警告 警告:この関数は,画像データが新しいフォーマットで有効かどうかをチェックせず,深度に互換性がある場合でもtrue を返します.無効なデータを持つ画像に対する操作は未定義です。

警告: 画像が切り離されていない場合、データがコピーされます。

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

[since 6.0] void QImage::rgbSwap()

すべてのピクセルの赤成分と青成分の値を入れ替え、RGB画像をBGR画像に効果的に変換します。

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

rgbSwapped() およびImage Transformationsも参照してください

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

指定された画像ファイルformatquality の要素を用いて、指定されたfileName のファイルに画像を保存します。formatnullptr の場合、QImagefileName の接尾辞からフォーマットを推測します。

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

画像の保存に成功した場合はtrue を返し、失敗した場合はfalse を返す。

Reading and Writing Image Filesも参照のこと

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

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

この関数は、与えられたdeviceQImage を書き込む。

これは例えば、画像をQByteArray に直接保存するために使用できます:

QImage image;
QByteArray ba;
QBuffer buffer(&ba);
buffer.open(QIODevice::WriteOnly);
image.save(&buffer, "PNG"); // writes image into ba in PNG format

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

与えられたaspectRatioModetransformMode に従って、与えられたsize で定義された矩形に拡大縮小された画像のコピーを返します。

  • aspectRatioModeQt::IgnoreAspectRatio の場合,画像はsize に拡大縮小されます.
  • aspectRatioModeQt::KeepAspectRatio の場合,画像はsize 内のできるだけ大きな矩形に,縦横比を保ったまま拡大縮小される。
  • aspectRatioModeQt::KeepAspectRatioByExpanding の場合,画像はsize の外側の,縦横比を保ったまま可能な限り小さな矩形に拡大縮小されます。

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

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

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

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

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

width またはheight のいずれかが 0 または負の場合,この関数は null 画像を返します.

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

画像のスケーリングされたコピーを返します。返された画像は,指定された変換mode を用いて,与えられたheight に拡大縮小されます。

この関数は,画像の比率が保たれるように,画像の幅を自動的に計算します。

与えられたheight が0または負の場合,NULL画像が返されます。

Image Transformationsも参照してください

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

画像のスケーリングされたコピーを返します。返された画像は,指定された変換mode を用いて,与えられたwidth に拡大縮小されます。

この関数は,縦横比が保たれるように画像の高さを自動的に計算します。

与えられたwidth が 0 または負の場合,NULL画像が返されます。

Image Transformationsも参照してください

uchar *QImage::scanLine(int i)

インデックスi のスキャンラインのピクセルデータへのポインタを返す。最初のスキャンラインはインデックス0である。

スキャンラインデータは最小32ビットアラインメントである。64ビットフォーマットでは、64ビット整数のネイティブアライメントに従います(ほとんどのプラットフォームでは64ビットですが、特にi386では32ビットです)。

例えば、画像の各ピクセルの緑成分を除去する:

for (int y = 0; y < image.height(); ++y) {
    QRgb *line = reinterpret_cast<QRgb*>(image.scanLine(y));
    for (int x = 0; x < image.width(); ++x) {
        QRgb &rgb = line[x];
        rgb = qRgba(qRed(rgb), qGreen(0), qBlue(rgb), qAlpha(rgb));
    }
}

警告: 警告:32-bpp画像データにアクセスする場合、返されたポインタをQRgb*QRgb は32ビット・サイズ)にキャストし、ピクセル値の読み書きに使用してください。uchar* ポインタを直接使用することはできません。ピクセルのフォーマッ トは、基盤となるプラットフォームのバイト順序に依存するからです。ピクセルにアクセスするには、qRed()、qGreen()、qBlue()、qAlpha() を使用する。

bytesPerLine()、bits()、Pixel Manipulation 、およびconstScanLine()も参照

const uchar *QImage::scanLine(int i) const

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

void QImage::setAlphaChannel(const QImage &alphaChannel)

この画像のアルファチャンネルを、与えられたalphaChannel に設定します。

alphaChannel が8ビットのアルファ画像の場合は、アルファ値が直接使われます。そうでない場合は,alphaChannel が8ビットグレースケールに変換され,ピクセル値の強度が使われます。

画像にすでにアルファチャンネルがある場合は、 既存のアルファチャンネルと新しいアルファチャンネルが掛け合わされます。画像にアルファチャンネルがない場合は、アルファチャンネルがある形式に変換されます。

この操作は、QPainter::CompositionMode_DestinationIn を使ってこの画像の上にalphaChannel をアルファ画像として描くのと似ています。

hasAlphaChannel()、Image TransformationsImage Formatsも参照

void QImage::setColor(int index, QRgb colorValue)

カラーテーブルの指定されたindex の色を、指定されたcolorValue に設定します。 色の値は ARGB の 4 値です。

index がカラーテーブルの現在のサイズの外側にある場合は、setColorCount() で展開される。

color()、colorCount()、setColorTable()、Pixel Manipulationも参照のこと

void QImage::setColorCount(int colorCount)

カラーテーブルをリサイズしてcolorCount エントリを含むようにします。

カ ラ ーテーブルが拡張 さ れる と 、 余分な色はすべて透過に設定 さ れます (すなわちqRgba(0, 0, 0, 0))。

画像を使 う と きは、 カ ラ ーテーブルは、 画像内に存在す る すべての ピ ク セル / イ ンデ ッ ク ス値の項目を持つに足 る 十分な大き さ を持つ必要があ り ます。

colorCount(),colorTable(),setColor(),Image Transformationsも参照

void QImage::setColorSpace(const QColorSpace &colorSpace)

画像デー タ を一切変換せずに、 画像色空間をcolorSpace に設定する。

colorSpace()も参照

void QImage::setColorTable(const QList<QRgb> &colors)

色イ ンデ ッ ク ス をQRgb 値へ変換する ために用い ら れる カ ラ ーテーブルを、 指定 し たcolors へ設定 し ます。

画像を使用する場合、カラーテーブルは、画像に存在するすべてのピクセル/インデックス値のエントリを持つのに十分な大きさでなければなりません。

colorTable()、setColor()、Image Transformationsも参照

void QImage::setDevicePixelRatio(qreal scaleFactor)

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

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

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

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

devicePixelRatio() およびdeviceIndependentSize()も参照して ください。

void QImage::setDotsPerMeterX(int x)

物理メータに水平に収まるピクセル数をx に設定する。

dotsPerMeterY() と共に、この数値は画像の意図されたスケールとアスペクト比を定義し、QPainter が画像にグラフィックを描画する際のスケールを決定します。この数値は、他の描画デバイスで描画されるときの画像の縮尺や縦横比を変更するものではありません。

dotsPerMeterX() およびImage Informationも参照して ください。

void QImage::setDotsPerMeterY(int y)

物理メータに縦に収まるピクセル数をy に設定する。

dotsPerMeterX() とともに、この数値は画像の意図されたスケールとアスペクト比を定義し、QPainter が画像にグラフィックを描画する際のスケールを決定します。この数値は、他の描画デバイスで描画されるときの画像の縮尺や縦横比を変更するものではありません。

dotsPerMeterY() およびImage Informationも参照して ください。

void QImage::setOffset(const QPoint &offset)

他の画像 と の相対的な位置合わせを行 う 際に、 画像を何 ピ ク セルず ら し たいかを設定 し ます (offset )。

offset() およびImage Informationも参照してください

void QImage::setPixel(const QPoint &position, uint index_or_rgb)

与えられたposition のピクセルインデックスまたは色をindex_or_rgb に設定します。

画像のフ ォーマ ッ ト がモノクロかパレ ッ ト の場合、 与えられたindex_or_rgb の値は、 画像の色テーブルのインデックスでなければな り ません。 それ以外の場合、 引数はQRgb の値でなければな り ません。

position が画像内で有効な座標対でない場合、 またはモノクロ画像やパレット画像の場合にindex_or_rgb >=colorCount () である場合、 結果は不定です。

警告: detach() パフォーマンスが気になる場合は、scanLine() やbits() を使って直接ピクセルデータにアクセスすることを推奨します。

pixel() およびPixel Manipulationも参照のこと

void QImage::setPixel(int x, int y, uint index_or_rgb)

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

(x,y) のピクセルインデックスまたは色をindex_or_rgb に設定します。

void QImage::setPixelColor(const QPoint &position, const QColor &color)

与えられたposition の色をcolor に設定します。

position が画像内で有効な座標ペアでない場合、 あるいは画像のフォーマットがモノクロかパレット形式である場合、 結果は未定義です。

警告 この関数は、内部で呼び出されるdetach() 関数の呼び出しのため、負荷が高くなります。パフォーマンスが気になる場合は、scanLine() またはbits() を使用して、ピクセルデータに直接アクセスすることをお勧めします。

pixelColor()、pixel()、bits()、scanLine()、Pixel Manipulationも参照

void QImage::setPixelColor(int x, int y, const QColor &color)

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

(x,y) のピクセルの色をcolor に設定します。

void QImage::setText(const QString &key, const QString &text)

画像テキストを与えられたtext に設定し、それを与えられたkey に関連付けます。

単一のテキストブロック(つまり「コメント」や単なる説明文)を保存したいだけの場合は、空のキーを渡すか、「Description」のような汎用キーを使用します。

save() やQImageWriter::write() を呼び出すと、画像テキストが画像データに埋め込まれます。

すべての画像フォーマットが埋め込みテキストをサポートしているわけではありません。特定の画像やフォーマットがテキストの埋め込みに対応しているかどうかは、QImageWriter::supportsOption() を使って調べることができます。例を挙げます:

    QImageWriterwriter; writer.setFormat("png");if(writer.supportsOption(QImageIOHandler::Description))        qDebug() << "Png supports embedded text";

QImageWriter::supportedImageFormats() を使えば、利用可能な画像フォーマットを調べることができる。

text() およびtextKeys()も参照

QSize QImage::size() const

画像のサイズ、すなわちwidth() およびheight() を返す。

Image Information およびdeviceIndependentSize()も参照

qsizetype QImage::sizeInBytes() const

画像データのサイズをバイト単位で返す。

bytesPerLine()、bits() およびImage Informationも参照

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

この画像をother と入れ替える。この操作は非常に速く、失敗することはない。

QString QImage::text(const QString &key = QString()) const

与えられたkey に関連付けられた画像テキストを返します。指定されたkey が空文字列の場合、画像テキスト全体が返され、各キーテキスト対は改行で区切られます。

setText() およびtextKeys()も参照

QStringList QImage::textKeys() const

この画像のテキストキーを返します。

これらのキーをtext() と組み合わせて使用すると、 指定したキーの画像テキストを一覧表示することができます。

text()も参照 ください。

CGImageRef QImage::toCGImage() const

このQImage と同等のCGImage を作成し、CGImageRef ハンドルを返す。

返された CGImageRef はQImage の暗黙の共有に参加し、QImage データへの参照を保持する。CGImageは不変であり、QImage をデタッチすることはない。QImage への書き込みは通常通りデタッチされる。

この関数は高速で、画像データをコピーしたり変換したりしません。

以下の画像フォーマットがサポートされており、対応するネイティブ画像タイプにマッピングされます:

Qtコアグラフィックス
Format_ARGB32kCGImageAlphaFirst | kCGBitmapByteOrder32Host
Format_RGB32kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Host
Format_RGBA8888_PremultipliedkCGImageAlphaPremultipliedLast|kCGBitmapByteOrder32Big
Format_RGBA8888kCGImageAlphaLast | kCGBitmapByteOrder32Big
Format_RGBX8888kCGImageAlphaNoneSkipLast|kCGBitmapByteOrder32Big。
Format_ARGB32_PremultipliedkCGImageAlphaPremultipliedFirst|kCGBitmapByteOrder32Host

その他のフォーマットはサポートされていません。この関数はそのような場合に null CGImageRef を返します。この関数のユーザは、Format_ARGB32_Premultiplied のように、QImage をサポートされている形式に変換することができます。

CGImageRef の色空間は sRGB 色空間に設定されます。

[since 6.0] HBITMAP QImage::toHBITMAP() const

QImage に相当するHBITMAP を作成する。

HBITMAP ハンドルを返す。

使用後にHBITMAP データを解放するのは呼び出し側の責任である。

BitBlt() のような標準的な GDI 呼び出しで使用する場合、画像はQImage::Format_RGB32 の形式でなければなりません。

結果のHBITMAPをAlphaBlend() GDI関数に使用する場合、画像はQImage::Format_ARGB32_PremultipliedconvertToFormat ()を使用)の形式でなければなりません。

結果のHBITMAPをアプリケーションアイコンやシストレイアイコンとして使用する場合、画像はQImage::Format_ARGB32 のフォーマットでなければなりません。

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

fromHBITMAP() およびconvertToFormat()も参照してください

[since 6.0] HICON QImage::toHICON(const QImage &mask = {}) const

QPixmapHICON 相当を作成し、マスクmask を適用する。

mask が NULL でない場合、QImage::Format_Mono の形式である必要がある。HICON ハンドルを返す。

使用後にHICON データを解放するのは呼び出し側の責任です。

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

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

[static noexcept] QImage::Format QImage::toImageFormat(QPixelFormat format)

formatQImage::Format

[static noexcept] QPixelFormat QImage::toPixelFormat(QImage::Format format)

formatQPixelFormat

QImage QImage::transformed(const QTransform &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const

与えられた変換matrix と変換mode を使って変換された画像のコピーを返します。

返される画像は通常,元画像と同じ {Image Formats}{format} を持ちます。し か し 、 複雑な変換を行 う と 、 すべての画素が元画像の変換後の画素で覆われていない画像になる場合があります。こ の よ う な場合、 背景の ピ ク セルには透過色が割 り 当て ら れ、 変換後の画像には、 元の画像にアルフ ァ チ ャ ネルがない と し て も 、 アルフ ァ チ ャ ネルを持つ形式が与え ら れます。

matrix すなわち、生成される画像は、元画像のすべての変換点を含む最小の画像となります。画像の変換に使われる実際の行列を取得するには、trueMatrix() 関数を使います。

他のオーバーロードとは異なり,この関数は,画像に対して透視変換を行うことができます.

trueMatrix() およびImage Transformationsも参照して ください。

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

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

transformedすなわち,transformed ()は,元画像のすべての変換点を含む最小の画像を返します.この関数は,元画像の点を新しい画像に正しく写すように修正された行列を返します.

他のオーバーロードとは異なり,この関数は,画像に対して透視変換を行うための変換行列を作成します.

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

bool QImage::valid(const QPoint &pos) const

pos が画像内で有効な座標ペアである場合はtrue を返し、 そうでない場合はfalse を返す。

rect() およびQRect::contains()も参照

bool QImage::valid(int x, int y) const

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

QPoint(x,y) が画像内で有効な座標ペアである場合はtrue を返し、 そうでない場合はfalse を返します。

int QImage::width() const

画像の幅を返します。

Image Informationも参照ください

QVariant QImage::operator QVariant() const

画像をQVariant として返します。

bool QImage::operator!=(const QImage &image) const

この画像と与えられたimage の内容が異なっていればtrue を返し、そうでなければfalse を返す。

幅が異なるなど、明らかな違いがある場合を除き、比較には時間がかかります。

operator=()も参照

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

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

QImage &QImage::operator=(const QImage &image)

与えられたimage のシャローコピーをこの画像に割り当て、この画像への参照を返します。

シャローコピーの詳細については、暗黙的データ共有のドキュメントを参照してください。

copy() およびQImage()も参照 ください。

bool QImage::operator==(const QImage &image) const

この画像と与えられたimage の内容が同じであればtrue を返し、そうでなければfalse を返します。

比較には時間がかかりますが、明らかな違い(サイズや形式が異なるなど)がある場合は、この関数はすぐに結果を返します。

operator=()も参照

関連する非会員

QImageCleanupFunction

基本的な画像メモリ管理を実装するために使用できる、以下のシグネチャを持つ関数:

void myImageCleanupHandler(void *info);

QDataStream &operator<<(QDataStream &stream, const QImage &image)

与えられたstream に、与えられたimage を PNG 画像として、またはストリームのバージョンが 1 の場合は BMP 画像として書き込みます。ストリームをファイルに書き込んでも、有効な画像ファイルは生成されないことに注意してください。

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

QDataStream &operator>>(QDataStream &stream, QImage &image)

与えられたstream から画像を読み込み、与えられたimage に格納します。

QImage::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.