QImage Class
QImageクラスは、ピクセルデータに直接アクセスできるハードウェアに依存しない画像表現を提供し、ペイントデバイスとして使用できます。詳細...
Header: | #include <QImage> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Inherits: | QPaintDevice |
- 継承メンバを含む全メンバ一覧
- QImageは、ペイントクラスと 暗黙的に共有されるクラスの一部です。
注意:このクラスの関数はすべてリエントラントです。
パブリック型
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) |
QDataStream & | 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
この enum 型は、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 4 値 (QRgb ) と し て指定 さ れます。色値の構成要素を取得するには、qAlpha(),qRed(),qGreen(),qBlue() 関数を使用します。
setColor()、pixelIndex()、Pixel Manipulationも参照 。
int QImage::colorCount() const
colorCount() 画像のカラーテーブルのサイズを返します。
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
size: 画像のサイズを、デバイスに依存しないピクセル単位で返します。
ユーザインタフェースのサイズ計算で画像サイズを使用する場合は、この値を使用する必要があります。
戻り値は image.size() / image.devicePixelRatio() と等価です。
この関数は Qt 6.2 で導入されました。
qreal QImage::devicePixelRatio() const
画像のデバイスピクセル比率を返します。これはデバイスピクセルと デバイス非依存ピクセルの比率です。
この関数は、画像サイズに基づいてレイアウトのジオメトリを計算するときに使用します。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)
画像のすべてのピクセル値を反転します。
与えられた反転mode は、画像の深度が32のときのみ意味を持つ。デフォルトのmode はInvertRgb で、 アルファチャンネルは変更されません。mode がInvertRgba の場合、 アルファビットも反転されます。
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
を返す.
null 画像は,すべてのパラメータが 0 に設定され,割り当てられているデータもありません.
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
としてQImage::Format を返す。QPixelFormat
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-bitサイズ)、ピクセル値の読み書きに使用してください。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 が画像内で有効な座標ペアでない場合、 または画像のフォーマットがモノクロかパレット形式である場合、 結果は未定義です。
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() を使って調べることができます。例を挙げましょう:
QImageWriter writer; 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)
指定されたimage を、指定されたstream に PNG 画像として、またはストリームのバージョンが 1 の場合は BMP 画像として書き込みます。ストリームをファイルに書き込んでも、有効な画像ファイルは生成されないことに注意してください。
QImage::save() およびQt データ型のシリアライズも参照してください 。
QDataStream &operator>>(QDataStream &stream, QImage &image)
与えられたstream から画像を読み込み、与えられたimage に格納します。
QImage::load() およびSerializing Qt Data Typesも参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。