QImage Class
QImageクラスは、ピクセルデータに直接アクセスできるハードウェアに依存しない画像表現を提供し、ペイントデバイスとして使用できます。詳細...
ヘッダー | #include <QImage> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
継承: | QPaintDevice |
- 継承メンバを含む全メンバのリスト
- QImage はPainting ClassesおよびImplicitly Shared Classes に含まれます。
注意:このクラスの関数はすべてリエントラントです。
パブリック型
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 はスクリーン上に画像を表示するために設計され最適化されています。QBitmap はQPixmap を継承した便利なクラスで、深さは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 のサポート |
---|---|---|
BMP | Windows ビットマップ | 読み書き可能 |
GIF | グラフィック交換フォーマット(オプション) | 読み込み |
JPG | ジョイント・フォトグラフィック・エキスパート・グループ | 読み取り/書き込み |
JPEG | ジョイント・フォトグラフィック・エキスパート・グループ | 読み書き |
PNG | ポータブルネットワークグラフィックス | 読み書き |
PBM | ポータブル・ビットマップ | 読み取り |
PGM | ポータブルグレイマップ | 読み取り |
PPM | ポータブルピクスマップ | 読み取り/書き込み |
XBM | X11ビットマップ | 読み書き |
XPM | X11 ピクスマップ | 読み書き |
画像情報
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ビット | |
---|---|
![]() |
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_Invalid | 0 | 画像は無効です。 |
QImage::Format_Mono | 1 | 画像はピクセルあたり1ビットで保存される。バイトは最上位ビット(MSB)を先頭にパックされる。 |
QImage::Format_MonoLSB | 2 | 画像はピクセルあたり1ビットで保存される。バイトは下位ビット(LSB)から順にパックされる。 |
QImage::Format_Indexed8 | 3 | 画像は8ビットのインデックスを使ってカラーマップに格納される。 |
QImage::Format_RGB32 | 4 | 画像は32ビットRGBフォーマット(0xffRRGGBB)で保存されます。 |
QImage::Format_ARGB32 | 5 | 画像は32ビットARGBフォーマット(0xAARRGGBB)を用いて格納される。 |
QImage::Format_ARGB32_Premultiplied | 6 | すなわち、赤、緑、青の各チャンネルに、アルファ成分を255で割った値が乗算される。(RR、GG、BBがアルファチャンネルより大きい値を持つ場合、結果は不定です)。特定の操作 (アルファブレンドを使った画像合成など) は、 ARGB32 をそのまま使うよりも、 事前乗算された ARGB32 を使ったほうが高速になります。 |
QImage::Format_RGB16 | 7 | 画像は16ビットRGBフォーマット(5-6-5)で保存されます。 |
QImage::Format_ARGB8565_Premultiplied | 8 | 画像は、事前乗算された24ビットARGBフォーマット(8-5-6-5)を使用して保存されます。 |
QImage::Format_RGB666 | 9 | 画像は24ビットRGBフォーマット(6-6-6)で保存される。未使用の最上位ビットは常に0である。 |
QImage::Format_ARGB6666_Premultiplied | 10 | 画像は、事前乗算された 24 ビット ARGB フォーマット(6-6-6-6)を用いて保存される。 |
QImage::Format_RGB555 | 11 | 画像は16ビットRGBフォーマット(5-5-5)で保存される。未使用の最上位ビットは常に0である。 |
QImage::Format_ARGB8555_Premultiplied | 12 | 画像は、事前乗算された 24 ビット ARGB フォーマット(8-5-5-5)を用いて保存される。 |
QImage::Format_RGB888 | 13 | 画像は24ビットRGBフォーマット(8-8-8)で保存される。 |
QImage::Format_RGB444 | 14 | 画像は16ビットRGBフォーマット(4-4-4)で保存されます。未使用ビットは常にゼロである。 |
QImage::Format_ARGB4444_Premultiplied | 15 | 画像は、事前乗算された 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::InvertRgb | 0 | RGB 値のみを反転し、アルファチャンネルは変更しない。 |
QImage::InvertRgba | 1 | アルファチャンネルを含むすべてのチャンネルを反転します。 |
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 &
horizontal とvertical が true に設定されているか false に設定されているかに応じて、水平方向または垂直方向にミラーされた画像のミラーを返します。
元の画像は変更されないことに注意してください。
mirror() およびImage Transformationsも参照 。
すべてのピクセルの赤成分と青成分の値が入れ替わった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)
与えられたsize とformat で画像を構築します。
メモリが確保できない場合はnull の画像が返されます。
[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)
与えられたwidth 、height 、format で画像を構築します。
メモリが確保できない場合はnull の画像が返されます。
QImage::QImage(const uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)
与えられたwidth 、height 、format を使って、既存の読み取り専用メモリバッファdata を使う画像を構築します。width とheight はピクセル単位で指定し、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)
与えられたwidth 、height 、format を使って、既存のメモリバッファdata を使う画像を構築します。width とheight はピクセル単位で指定し、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)
指定されたwidth 、height 、format で画像を構築し、既存のメモリバッファdata を使用する。width とheight はピクセル単位で指定しなければなりません。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)
指定されたwidth 、height 、format で画像を構築し、既存のメモリバッファdata を使用する。width とheight はピクセル単位で指定しなければなりません。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)
画像をcolorSpace とformat に変換します。
画像に有効な色空間がない場合、このメソッドは何もせず、色空間がフォーマットと互換性がない場合も何もしません。
指定された画像変換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) からコピーされ、常に与えられたwidth とheight を持ちます。 この画像を超える領域では、ピクセルは 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 の場合,color がQt::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 のときのみ意味を持ちます。デフォルトのmode はInvertRgb で、 アルファチャンネルは変更されません。mode がInvertRgba の場合、 アルフ ァ ビ ッ ト も 反転 さ れます。
8 ビ ッ ト 画像を反転 さ せ る と い う こ と は、 色インデ ッ ク スiを用い る すべての画素を、 色イ ンデ ッ ク ス 255 からi を引いた画素で置き換えることを意味します。カラーテーブルは変更されないことに注意。
アルフ ァ チ ャ ン ネルが事前に乗算 さ れてい る 画像の場合、 その画像はまず、 乗算 さ れていない画像形式に変換 さ れて反転 さ れ、 そ し て再び変換 さ れます。
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)
horizontal とvertical が 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
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
指定された画像ファイルformat とquality の要素を用いて、指定されたfileName のファイルに画像を保存します。format がnullptr
の場合、QImage はfileName の接尾辞からフォーマットを推測します。
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
これはオーバーロードされた関数である。
この関数は、与えられたdevice にQImage を書き込む。
これは例えば、画像を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
与えられたaspectRatioMode とtransformMode に従って、与えられたsize で定義された矩形に拡大縮小された画像のコピーを返します。
- aspectRatioMode がQt::IgnoreAspectRatio の場合,画像はsize に拡大縮小されます.
- aspectRatioMode がQt::KeepAspectRatio の場合,画像はsize 内のできるだけ大きな矩形に,縦横比を保ったまま拡大縮小される。
- aspectRatioMode がQt::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
これはオーバーロードされた関数である。
与えられたwidth とheight を,与えられたaspectRatioMode とtransformMode に従って矩形にスケーリングした画像のコピーを返します。
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 Transformations 、Image 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 () である場合、 結果は不定です。
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() を使えば、利用可能な画像フォーマットを調べることができる。
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 が空文字列の場合、画像テキスト全体が返され、各キーテキスト対は改行で区切られます。
QStringList QImage::textKeys() const
この画像のテキストキーを返します。
これらのキーをtext() と組み合わせて使用すると、 指定したキーの画像テキストを一覧表示することができます。
text()も参照 ください。
CGImageRef QImage::toCGImage() const
このQImage と同等のCGImage
を作成し、CGImageRef
ハンドルを返す。
返された CGImageRef はQImage の暗黙の共有に参加し、QImage データへの参照を保持する。CGImageは不変であり、QImage をデタッチすることはない。QImage への書き込みは通常通りデタッチされる。
この関数は高速で、画像データをコピーしたり変換したりしません。
以下の画像フォーマットがサポートされており、対応するネイティブ画像タイプにマッピングされます:
Qt | コアグラフィックス |
---|---|
Format_ARGB32 | kCGImageAlphaFirst | kCGBitmapByteOrder32Host |
Format_RGB32 | kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Host |
Format_RGBA8888_Premultiplied | kCGImageAlphaPremultipliedLast|kCGBitmapByteOrder32Big |
Format_RGBA8888 | kCGImageAlphaLast | kCGBitmapByteOrder32Big |
Format_RGBX8888 | kCGImageAlphaNoneSkipLast|kCGBitmapByteOrder32Big。 |
Format_ARGB32_Premultiplied | kCGImageAlphaPremultipliedFirst|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_Premultiplied (convertToFormat ()を使用)の形式でなければなりません。
結果のHBITMAPをアプリケーションアイコンやシストレイアイコンとして使用する場合、画像はQImage::Format_ARGB32 のフォーマットでなければなりません。
この関数は Qt 6.0 で導入されました。
fromHBITMAP() およびconvertToFormat()も参照してください 。
[since 6.0]
HICON QImage::toHICON(const QImage &mask = {}) const
QPixmap のHICON
相当を作成し、マスクmask を適用する。
mask が NULL でない場合、QImage::Format_Mono の形式である必要がある。HICON
ハンドルを返す。
使用後にHICON
データを解放するのは呼び出し側の責任です。
この関数は Qt 6.0 で導入されました。
fromHICON()も参照してください 。
[static noexcept]
QImage::Format QImage::toImageFormat(QPixelFormat format)
format をQImage::Format
[static noexcept]
QPixelFormat QImage::toPixelFormat(QImage::Format format)
format をQPixelFormat
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 のシャローコピーをこの画像に割り当て、この画像への参照を返します。
シャローコピーの詳細については、暗黙的データ共有のドキュメントを参照してください。
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.