QImage Class

QImage 클래스는 픽셀 데이터에 직접 액세스할 수 있는 하드웨어 독립적인 이미지 표현을 제공하며, 페인트 장치로 사용할 수 있습니다. 더 보기...

헤더: #include <QImage>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
상속합니다: QPaintDevice

참고: 이 클래스의 모든 함수는 재진입합니다.

공용 유형

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

공용 함수

QImage()
QImage(const char *const[] xpm)
QImage(const QSize &size, QImage::Format format)
QImage(const QString &fileName, const char *format = nullptr)
QImage(int width, int height, QImage::Format format)
QImage(const uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)
QImage(uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)
QImage(const uchar *data, int width, int height, qsizetype bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)
QImage(uchar *data, int width, int height, qsizetype bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)
QImage(const QImage &image)
QImage(QImage &&other)
virtual ~QImage()
bool allGray() const
void applyColorTransform(const QColorTransform &transform)
(since 6.8) void applyColorTransform(const QColorTransform &transform, QImage::Format toFormat, Qt::ImageConversionFlags flags = Qt::AutoColor)
int bitPlaneCount() const
uchar *bits()
const uchar *bits() const
qsizetype bytesPerLine() const
qint64 cacheKey() const
QRgb color(int i) const
int colorCount() const
QColorSpace colorSpace() const
QList<QRgb> colorTable() const
(since 6.4) QImage colorTransformed(const QColorTransform &transform) const &
(since 6.8) QImage colorTransformed(const QColorTransform &transform, QImage::Format toFormat, Qt::ImageConversionFlags flags = Qt::AutoColor) const &
(since 6.4) QImage colorTransformed(const QColorTransform &transform) &&
(since 6.8) QImage colorTransformed(const QColorTransform &transform, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&
const uchar *constBits() const
const uchar *constScanLine(int i) const
void convertTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor)
void convertToColorSpace(const QColorSpace &colorSpace)
(since 6.8) void convertToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor)
QImage convertToFormat(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&
QImage convertToFormat(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const &
QImage convertToFormat(QImage::Format format, const QList<QRgb> &colorTable, Qt::ImageConversionFlags flags = Qt::AutoColor) const
(since 6.0) QImage convertedTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&
(since 6.0) QImage convertedTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const &
QImage convertedToColorSpace(const QColorSpace &colorSpace) const
(since 6.8) QImage convertedToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&
(since 6.8) QImage convertedToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const &
QImage copy(const QRect &rectangle = QRect()) const
QImage copy(int x, int y, int width, int height) const
QImage createAlphaMask(Qt::ImageConversionFlags flags = Qt::AutoColor) const
QImage createHeuristicMask(bool clipTight = true) const
QImage createMaskFromColor(QRgb color, Qt::MaskMode mode = Qt::MaskInColor) const
int depth() const
(since 6.2) QSizeF deviceIndependentSize() const
qreal devicePixelRatio() const
int dotsPerMeterX() const
int dotsPerMeterY() const
void fill(uint pixelValue)
void fill(Qt::GlobalColor color)
void fill(const QColor &color)
(since 6.9) void flip(Qt::Orientations orient = Qt::Vertical)
(since 6.9) QImage flipped(Qt::Orientations orient = Qt::Vertical) &&
(since 6.9) QImage flipped(Qt::Orientations orient = Qt::Vertical) const &
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, until 6.13) void mirror(bool horizontal = false, bool vertical = true)
(until 6.13) QImage mirrored(bool horizontal = false, bool vertical = true) &&
(until 6.13) 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 데이터, const char *형식 = nullptr)
QImage fromData(const QByteArray &data, const char *format = nullptr)
QImage fromData(const uchar *데이터, int size, const char *포맷 = nullptr)
(since 6.0) QImage fromHBITMAP(HBITMAP hbitmap)
(since 6.0) QImage fromHICON(HICON 아이콘)
QImage::포맷 toImageFormat(Q픽셀포맷 포맷)
Q픽셀포맷 toPixelFormat(QImage::포맷 형식)
QTransform trueMatrix(const QTransform &matrix, int width, int height)
QImageCleanupFunction
QDataStream &operator<<(QDataStream &stream, const QImage &image)
QDataStream &operator>>(QDataStream &stream, QImage &image)

자세한 설명

Qt는 이미지 데이터를 처리하기 위한 네 가지 클래스를 제공합니다: QImage, QPixmap, QBitmap, QPicture 입니다. QImage는 I/O와 직접 픽셀 액세스 및 조작을 위해 설계되고 최적화되었으며, QPixmap 는 화면에 이미지를 표시하기 위해 설계되고 최적화되었습니다. QBitmapQPixmap 를 상속하는 편의성 클래스일 뿐이며, 깊이는 1입니다. 마지막으로 QPicture 클래스는 QPainter 명령을 기록 및 재생하는 페인트 장치입니다.

QImage는 QPaintDevice 하위 클래스이므로 QPainter 을 사용하여 이미지에 직접 그릴 수 있습니다. QImage에서 QPainter 을 사용하는 경우 현재 GUI 스레드가 아닌 다른 스레드에서 페인팅을 수행할 수 있습니다.

QImage 클래스는 Format 열거형에 설명된 여러 이미지 형식을 지원합니다. 여기에는 단색, 8비트, 32비트 및 알파 블렌드 이미지가 포함되며, 모든 버전의 Qt 4.x에서 사용할 수 있습니다.

QImage는 이미지에 대한 다양한 정보를 얻는 데 사용할 수 있는 함수 모음을 제공합니다. 또한 이미지의 변형을 가능하게 하는 몇 가지 함수도 있습니다.

QImage 클래스는 암시적 데이터 공유를 사용하므로 QImage 객체를 값으로 전달할 수 있습니다. QImage 객체를 스트리밍하고 비교할 수도 있습니다.

참고: Qt의 정적 빌드에서 QImage 객체를 로드하려면 플러그인 하우투를 참조하십시오.

경고: QImage::Format_Indexed8 또는 QImage::Format_CMYK8888 형식의 QImage에 페인팅하는 것은 지원되지 않습니다.

이미지 파일 읽기 및 쓰기

QImage는 이미지 파일을 로드하는 여러 가지 방법을 제공합니다: QImage 객체를 구성할 때 파일을 로드하거나 나중에 load() 또는 loadFromData() 함수를 사용하여 로드할 수 있습니다. QImage는 또한 정적 fromData() 함수를 제공하여 주어진 데이터에서 QImage를 구성합니다. 이미지를 로드할 때 파일 이름은 디스크의 실제 파일을 참조하거나 애플리케이션에 내장된 리소스 중 하나를 참조할 수 있습니다. 응용 프로그램의 실행 파일에 이미지 및 기타 리소스 파일을 임베드하는 방법에 대한 자세한 내용은 Qt 리소스 시스템 개요를 참조하십시오.

save() 함수를 호출하여 QImage 객체를 저장하기만 하면 됩니다.

지원되는 파일 형식의 전체 목록은 QImageReader::supportedImageFormats() 및 QImageWriter::supportedImageFormats() 함수를 통해 확인할 수 있습니다. 새로운 파일 형식은 플러그인으로 추가할 수 있습니다. 기본적으로 Qt는 다음 형식을 지원합니다:

포맷설명Qt의 지원
BMP윈도우 비트맵읽기/쓰기
GIF그래픽 교환 형식(선택 사항)읽기
JPG공동 사진 전문가 그룹읽기/쓰기
JPEG공동 사진 전문가 그룹읽기/쓰기
PNG휴대용 네트워크 그래픽읽기/쓰기
PBM휴대용 비트맵읽기
PGM휴대용 그레이맵읽기
PPM휴대용 픽스맵읽기/쓰기
XBMX11 비트맵읽기/쓰기
XPMX11 픽스맵읽기/쓰기

이미지 정보

QImage는 이미지에 대한 다양한 정보를 얻는 데 사용할 수 있는 함수 모음을 제공합니다:

사용 가능한 함수
지오메트리size(), width(), height(), dotsPerMeterX() 및 dotsPerMeterY() 함수는 이미지 크기 및 종횡비에 대한 정보를 제공합니다.

rect() 함수는 이미지의 둘러싸는 직사각형을 반환합니다. valid () 함수는 주어진 좌표 쌍이 이 사각형 안에 있는지 여부를 알려줍니다. offset () 함수는 이미지가 다른 이미지와 비교하여 위치할 때 오프셋할 픽셀 수를 반환하며, setOffset() 함수를 사용하여 조작할 수도 있습니다.

색상픽셀의 색상은 pixel() 함수에 좌표를 전달하여 검색할 수 있습니다. pixel () 함수는 이미지의 형식에 관계없이 색상을 QRgb 값으로 반환합니다.

흑백 및 8비트 이미지의 경우 colorCount() 및 colorTable() 함수는 이미지 데이터를 저장하는 데 사용된 색상 구성 요소에 대한 정보를 제공합니다: colorTable () 함수는 이미지의 전체 색상 표를 반환합니다. 단일 항목을 얻으려면 pixelIndex() 함수를 사용하여 주어진 좌표 쌍의 픽셀 인덱스를 검색한 다음 color() 함수를 사용하여 색상을 검색합니다. 8비트 이미지를 수동으로 생성하는 경우 이미지에 유효한 색상표도 설정해야 합니다.

hasAlphaChannel() 함수는 이미지의 형식이 알파 채널을 준수하는지 여부를 알려줍니다. allGray () 및 isGrayscale() 함수는 이미지의 색상이 모두 회색 음영인지 여부를 알려줍니다.

Pixel ManipulationImage Transformations 섹션도 참조하세요.

텍스트text() 함수는 지정된 텍스트 키와 연결된 이미지 텍스트를 반환합니다. 이미지의 텍스트 키는 textKeys() 함수를 사용하여 검색할 수 있습니다. 이미지의 텍스트를 변경하려면 setText() 함수를 사용합니다.
저수준 정보depth() 함수는 이미지의 깊이를 반환합니다. 지원되는 심도는 1(흑백), 8, 16, 24 및 32비트입니다. bitPlaneCount () 함수는 사용된 비트 수를 알려줍니다. 자세한 내용은 Image Formats 섹션을 참조하세요.

format(), bytesPerLine() 및 sizeInBytes() 함수는 이미지에 저장된 데이터에 대한 저수준 정보를 제공합니다.

cacheKey() 함수는 이 QImage 객체의 내용을 고유하게 식별하는 숫자를 반환합니다.

픽셀 조작

이미지의 픽셀을 조작하는 데 사용되는 함수는 이미지 형식에 따라 다릅니다. 그 이유는 흑백 및 8비트 이미지는 인덱스 기반이며 색상 조회 테이블을 사용하는 반면 32비트 이미지는 ARGB 값을 직접 저장하기 때문입니다. 이미지 형식에 대한 자세한 내용은 Image Formats 섹션을 참조하세요.

32비트 이미지의 경우 setPixel() 함수를 사용하여 주어진 좌표에서 픽셀의 색상을 ARGB 4중항으로 지정된 다른 색상으로 변경할 수 있습니다. 적절한 QRgb 값을 만들려면 qRgb()(주어진 RGB 값에 기본 알파 성분을 추가하여 불투명한 색을 생성하는 등) 또는 qRgba() 함수를 사용합니다. 예를 들어

32비트
QImage image(3, 3, QImage::Format_RGB32);
QRgb value;

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

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

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

8비트 및 흑백 이미지의 경우 픽셀 값은 이미지의 색상 표에서 인덱스일 뿐입니다. 따라서 setPixel() 함수는 주어진 좌표에서 픽셀의 색상을 이미지의 색상 표에서 미리 정의된 색상으로 변경하는 데만 사용할 수 있습니다. 즉, 픽셀의 색인 값만 변경할 수 있습니다. 이미지의 색상 표에 색상을 변경하거나 추가하려면 setColor() 함수를 사용합니다.

색상표의 항목은 QRgb 값으로 인코딩된 ARGB 쿼드러플입니다. 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 열거형에 설명된 여러 이미지 형식을 지원합니다.

흑백 이미지는 1비트 인덱스를 사용하여 최대 두 가지 색상이 있는 컬러 테이블에 저장됩니다. 흑백 이미지에는 빅 엔디안(MSB 우선) 또는 리틀 엔디안(LSB 우선) 비트 순서라는 두 가지 유형이 있습니다.

8비트 이미지는 8비트 인덱스를 사용하여 컬러 테이블에 저장됩니다. 즉, 픽셀당 단일 바이트가 있습니다. 색상 테이블은 QList<QRgb>이며, QRgb typedef는 0xAARRGGBB 형식의 ARGB 4중항을 포함하는 부호 없는 int에 해당합니다.

32비트 이미지에는 컬러 테이블이 없으며 대신 각 픽셀에 QRgb 값이 포함됩니다. 32비트 이미지에는 각각 RGB(즉, 0xffRRGGBB), ARGB 및 미리 곱한 ARGB 값을 저장하는 세 가지 유형이 있습니다. 미리 곱하기 형식에서는 빨간색, 녹색, 파란색 채널에 알파 성분을 255로 나눈 값을 곱합니다.

이미지의 형식은 format() 함수를 사용하여 검색할 수 있습니다. 이미지를 다른 형식으로 변환하려면 convertToFormat() 함수를 사용합니다. allGray () 및 isGrayscale() 함수는 컬러 이미지를 그레이 스케일 이미지로 안전하게 변환할 수 있는지 여부를 알려줍니다.

이미지 변환

QImage는 원본의 변형된 버전인 새 이미지를 만들기 위한 여러 함수를 지원합니다: createAlphaMask () 함수는 이 이미지의 알파 버퍼에서 1-bpp 마스크를 만들어 반환하고, createHeuristicMask() 함수는 이 이미지에 대한 1-bpp 휴리스틱 마스크를 만들어 반환합니다. 후자의 함수는 모서리 중 하나에서 색상을 선택한 다음 모든 가장자리에서 시작하여 해당 색상의 픽셀을 잘라내는 방식으로 작동합니다.

mirrored() 함수는 원하는 방향으로 이미지의 거울을 반환하고, scaled() 함수는 원하는 측정값의 사각형으로 축소된 이미지 사본을 반환하며, rgbSwapped() 함수는 RGB 이미지에서 BGR 이미지를 구성합니다.

scaledToWidth() 및 scaledToHeight() 함수는 이미지의 크기 조정된 복사본을 반환합니다.

transformed() 함수는 주어진 변환 행렬과 변환 모드로 변환된 이미지의 복사본을 반환합니다: 내부적으로 변환 행렬은 원치 않는 변환을 보정하기 위해 조정됩니다. transformed()는 원본 이미지의 모든 변환된 점을 포함하는 가장 작은 이미지를 반환합니다. 정적 trueMatrix() 함수는 이미지 변환에 사용된 실제 행렬을 반환합니다.

이미지의 속성을 제자리에서 변경하는 함수도 있습니다:

함수설명
setDotsPerMeterX()실제 미터에 가로로 맞는 픽셀 수를 설정하여 가로 세로 비율을 정의합니다.
setDotsPerMeterY()실제 미터에 세로로 맞는 픽셀 수를 설정하여 종횡비를 정의합니다.
fill()지정된 픽셀 값으로 전체 이미지를 채웁니다.
invertPixels()주어진 InvertMode 값을 사용하여 이미지의 모든 픽셀 값을 반전시킵니다.
setColorTable()색상 인덱스를 변환하는 데 사용되는 색상 테이블을 설정합니다. 단색 및 8비트 형식만 가능합니다.
setColorCount()색상표의 크기를 조정합니다. 흑백 및 8비트 형식만 가능합니다.

QImageReader, QImageWriter, QPixmap, QSvgRenderer, 이미지 구성 예제낙서 예제를참조하세요 .

멤버 유형 문서

enum QImage::Format

Qt에서 사용할 수 있는 이미지 형식은 다음과 같습니다. 표 뒤의 참고 사항을 참조하십시오.

상수설명
QImage::Format_Invalid0이미지가 유효하지 않습니다.
QImage::Format_Mono1이미지는 픽셀당 1비트를 사용하여 저장됩니다. 바이트는 가장 중요한 비트(MSB)로 먼저 패킹됩니다.
QImage::Format_MonoLSB2이미지가 픽셀당 1비트를 사용하여 저장됩니다. 바이트는 최하위 비트(LSB)로 먼저 패킹됩니다.
QImage::Format_Indexed83이미지는 8비트 인덱스를 사용하여 컬러맵에 저장됩니다.
QImage::Format_RGB324이미지가 32비트 RGB 형식(0xffRRGGBB)을 사용하여 저장됩니다.
QImage::Format_ARGB325이미지가 32비트 ARGB 형식(0xAARRGGBB)을 사용하여 저장됩니다.
QImage::Format_ARGB32_Premultiplied6이미지가 미리 곱해진 32비트 ARGB 형식(0xAARRGGBB)을 사용하여 저장됩니다. 즉, 빨간색, 녹색, 파란색 채널에 알파 성분을 255로 나눈 값을 곱한 값입니다. (RR, GG 또는 BB가 알파 채널보다 높은 값을 갖는 경우 결과는 정의되지 않습니다.) 특정 작업(예: 알파 블렌딩을 사용한 이미지 구성)은 일반 ARGB32보다 미리 곱한 ARGB32를 사용하는 것이 더 빠릅니다.
QImage::Format_RGB167이미지가 16비트 RGB 형식(5-6-5)을 사용하여 저장됩니다.
QImage::Format_ARGB8565_Premultiplied8이미지는 미리 곱셈된 24비트 ARGB 형식(8-5-6-5)을 사용하여 저장됩니다.
QImage::Format_RGB6669이미지가 24비트 RGB 형식(6-6-6)을 사용하여 저장됩니다. 사용하지 않은 가장 중요한 비트는 항상 0입니다.
QImage::Format_ARGB6666_Premultiplied10이미지는 미리 곱한 24비트 ARGB 형식(6-6-6-6)을 사용하여 저장됩니다.
QImage::Format_RGB55511이미지는 16비트 RGB 형식(5-5-5)을 사용하여 저장됩니다. 사용하지 않는 최하위 비트는 항상 0입니다.
QImage::Format_ARGB8555_Premultiplied12이미지는 미리 곱한 24비트 ARGB 형식(8-5-5-5)을 사용하여 저장됩니다.
QImage::Format_RGB88813이미지가 24비트 RGB 형식(8-8-8)을 사용하여 저장됩니다.
QImage::Format_RGB44414이미지는 16비트 RGB 형식(4-4-4)을 사용하여 저장됩니다. 사용하지 않은 비트는 항상 0입니다.
QImage::Format_ARGB4444_Premultiplied15이미지는 미리 곱한 16비트 ARGB 형식(4-4-4-4)을 사용하여 저장됩니다.
QImage::Format_RGBX8888 (since Qt 5.2)16이미지는 32비트 바이트 순서로 정렬된 RGB(x) 형식(8-8-8-8)을 사용하여 저장됩니다. 알파가 항상 255여야 한다는 점을 제외하면 Format_RGBA8888과 동일합니다.
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)을 사용하여 저장됩니다. 알파가 항상 65535여야 한다는 점을 제외하면 Format_RGBA64와 동일합니다.
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)을 사용하여 저장됩니다. 알파가 항상 1.0이어야 한다는 점을 제외하면 Format_RGBA16FPx4와 동일합니다.
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)을 사용하여 저장됩니다. 알파가 항상 1.0이어야 한다는 점을 제외하면 Format_RGBA32FPx4와 동일합니다.
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_RGB32Format_ARGB32_Premultiplied 형식에 가장 최적화되어 있으며, Format_RGB16, Format_RGBX8888, Format_RGBA8888_Premultiplied, Format_RGBX64Format_RGBA64_Premultiplied 형식에 대한 렌더링은 보조적으로 최적화되어 있습니다.

format() 및 convertToFormat()도 참조하세요 .

enum QImage::InvertMode

이 열거형 유형은 invertPixels() 함수에서 픽셀 값을 반전하는 방법을 설명하는 데 사용됩니다.

Constant설명
QImage::InvertRgb0RGB 값만 반전하고 알파 채널은 변경하지 않습니다.
QImage::InvertRgba1알파 채널을 포함한 모든 채널을 반전합니다.

invertPixels()도 참조하세요 .

멤버 함수 문서

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

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

지정된 format 에 있는 이미지의 복사본을 반환합니다.

지정된 이미지 변환 flags 은 변환 프로세스 중에 이미지 데이터가 처리되는 방식을 제어합니다.

convertTo() 및 Image Formats도 참조하세요 .

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

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

지정된 format 에 있는 이미지의 복사본을 반환합니다.

지정된 이미지 변환 flags 은 변환 과정에서 이미지 데이터가 처리되는 방식을 제어합니다.

이 함수는 Qt 6.0에 도입되었습니다.

convertTo() 및 Image Formats도 참조하십시오 .

[until 6.13] QImage QImage::mirrored(bool horizontal = false, bool vertical = true) &&

[until 6.13] QImage QImage::mirrored(bool horizontal = false, bool vertical = true) const &

이 함수는 버전 6.13에서 더 이상 사용되지 않을 예정입니다.

대신 flipped(Qt::Orientations)를 사용하세요.

horizontalvertical 이 참 또는 거짓으로 설정되었는지 여부에 따라 가로 및/또는 세로 방향으로 미러링된 이미지의 미러를 반환합니다.

원본 이미지는 변경되지 않습니다.

mirror() 및 Image Transformations도 참조하세요 .

[since 6.9] QImage QImage::flipped(Qt::Orientations orient = Qt::Vertical) &&

[since 6.9] QImage QImage::flipped(Qt::Orientations orient = Qt::Vertical) const &

orient 에 따라 가로 및/또는 세로 방향으로 미러링된 이미지의 뒤집힌 버전 또는 미러 버전을 반환합니다.

원본 이미지는 변경되지 않습니다.

이 함수는 Qt 6.9에 도입되었습니다.

flip(Qt::Orientations) 및 Image Transformations참조하십시오 .

QImage QImage::rgbSwapped() &&

QImage QImage::rgbSwapped() const &

모든 픽셀의 빨간색과 파란색 구성 요소의 값이 바뀌어 RGB 이미지를 BGR 이미지로 효과적으로 변환한 QImage 을 반환합니다.

원본 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 &

colorSpaceformat 로 변환된 이미지를 반환합니다.

이미지에 유효한 색 공간이 없는 경우 null QImage 이 반환됩니다.

지정된 이미지 변환 flags 은 형식 변환 프로세스 중에 이미지 데이터가 처리되는 방식을 제어합니다.

이 함수는 Qt 6.8에 도입되었습니다.

colorTransformed()도 참조하세요 .

[noexcept] QImage::QImage()

널 이미지를 생성합니다.

isNull()도 참조하세요 .

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

주어진 xpm 이미지에서 이미지를 생성합니다.

이미지가 유효한 XPM 이미지인지 확인합니다. 오류는 자동으로 무시됩니다.

특이한 선언을 사용하여 XPM 변수를 약간 압축할 수 있습니다:

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

const 을 추가하면 전체 정의가 읽기 전용이 되므로 약간 더 효율적이며(예: 코드가 공유 라이브러리에 있는 경우) 애플리케이션과 함께 ROM에 저장할 수 있습니다.

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

주어진 sizeformat 로 이미지를 생성합니다.

메모리를 할당할 수 없는 경우 null 이미지가 반환됩니다.

경고: 초기화되지 않은 데이터로 QImage를 생성합니다. fill ()를 호출하여 이미지를 적절한 픽셀 값으로 채운 다음 QPainter 으로 그 위에 그림을 그립니다.

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

이미지를 생성하고 지정된 fileName 을 사용하여 파일에서 이미지를 로드하려고 시도합니다.

로더는 지정된 format 을 사용하여 이미지를 읽으려고 시도합니다. format 을 지정하지 않으면(기본값) 파일의 접미사 및 헤더를 기준으로 자동 감지됩니다. 자세한 내용은 {QImageReader::setAutoDetectImageFormat()}{QImageReader}을 참조하세요.

이미지 로딩에 실패한 경우 이 객체는 null 이미지입니다.

파일 이름은 디스크의 실제 파일을 참조하거나 애플리케이션의 임베디드 리소스 중 하나를 참조할 수 있습니다. 애플리케이션 실행 파일에 이미지 및 기타 리소스 파일을 임베드하는 방법에 대한 자세한 내용은 리소스 시스템 개요를 참조하세요.

isNull() 및 Reading and Writing Image Files참조하세요 .

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

주어진 width, heightformat 로 이미지를 생성합니다.

메모리를 할당할 수 없는 경우 null 이미지가 반환됩니다.

경고: 초기화되지 않은 데이터로 QImage를 생성합니다. fill ()를 호출하여 이미지를 적절한 픽셀 값으로 채운 다음 QPainter 으로 그 위에 그림을 그립니다.

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

주어진 width, heightformat 로 기존 읽기 전용 메모리 버퍼인 data 를 사용하는 이미지를 생성합니다. widthheight 은 픽셀 단위로 지정되어야 하고 data 은 32비트 정렬되어야 하며 이미지의 각 데이터 스캔 라인도 32비트 정렬되어야 합니다.

버퍼는 QImage의 수명 기간 동안 유효해야 하며 원본 버퍼에서 수정되거나 분리되지 않은 모든 복사본이 유효해야 합니다. 이미지가 소멸될 때 버퍼는 삭제되지 않습니다. 함수 포인터 cleanupFunction 와 함께 마지막 복사본이 소멸될 때 호출되는 추가 포인터 cleanupInfo 를 제공할 수 있습니다.

format 이 색인된 색상 형식인 경우 이미지 색상 테이블은 처음에 비어 있으며 이미지를 사용하기 전에 setColorCount() 또는 setColorTable()로 충분히 확장해야 합니다.

컨스트가 아닌 데이터 버퍼를 취하는 유사한 QImage 생성자와 달리 이 버전은 버퍼의 내용을 변경하지 않습니다. 예를 들어 QImage::bits()를 호출하면 생성자에 전달된 버퍼가 아니라 이미지의 딥 카피가 반환됩니다. 따라서 원시 데이터가 변경될 가능성 없이 원시 데이터에서 QImage를 효율적으로 구성할 수 있습니다.

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

주어진 width, heightformat 로 기존 메모리 버퍼인 data 를 사용하는 이미지를 생성합니다. widthheight 은 픽셀 단위로 지정되어야 하고 data 은 32비트 정렬되어야 하며 이미지의 각 데이터 스캔 라인도 32비트 정렬되어야 합니다.

버퍼는 QImage의 수명 기간 동안 유효해야 하며 원본 버퍼에서 수정되거나 분리되지 않은 모든 복사본이 유효해야 합니다. 이미지가 소멸될 때 버퍼는 삭제되지 않습니다. 함수 포인터 cleanupFunction 와 함께 마지막 복사본이 소멸될 때 호출되는 추가 포인터 cleanupInfo 를 제공할 수 있습니다.

format 이 색인된 색상 형식인 경우 이미지 색상 테이블은 처음에 비어 있으며 이미지를 사용하기 전에 setColorCount() 또는 setColorTable()로 충분히 확장해야 합니다.

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

주어진 width, heightformat 로 기존 메모리 버퍼인 data 을 사용하는 이미지를 생성합니다. widthheight 은 픽셀 단위로 지정해야 합니다. bytesPerLine 은 줄당 바이트 수(보폭)를 지정합니다.

버퍼는 QImage의 수명 동안 유효해야 하며, 원본 버퍼에서 수정되거나 분리되지 않은 모든 복사본이 유효해야 합니다. 이미지가 소멸될 때 버퍼는 삭제되지 않습니다. 함수 포인터 cleanupFunction 와 함께 마지막 복사본이 소멸될 때 호출되는 추가 포인터 cleanupInfo 를 제공할 수 있습니다.

format 이 색인된 색상 형식인 경우 이미지 색상 테이블은 처음에 비어 있으며 이미지를 사용하기 전에 setColorCount() 또는 setColorTable()로 충분히 확장해야 합니다.

컨스트가 아닌 데이터 버퍼를 취하는 유사한 QImage 생성자와 달리 이 버전은 버퍼의 내용을 변경하지 않습니다. 예를 들어 QImage::bits()를 호출하면 생성자에 전달된 버퍼가 아니라 이미지의 딥 카피가 반환됩니다. 따라서 원시 데이터가 변경될 가능성 없이 원시 데이터에서 QImage를 효율적으로 구성할 수 있습니다.

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

주어진 width, heightformat 로 기존 메모리 버퍼인 data 을 사용하는 이미지를 생성합니다. widthheight 은 픽셀 단위로 지정해야 합니다. bytesPerLine 은 줄당 바이트 수(보폭)를 지정합니다.

버퍼는 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를 반환합니다.

이 함수는 색상표가 없는 이미지의 경우 속도가 느립니다.

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()가 0이 아닌 경우 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

이미지에 대한 색상표의 크기를 반환합니다.

이러한 이미지에서는 컬러 테이블을 사용하지 않고 픽셀 값을 ARGB 4분할로 인코딩하므로 32pp 이미지의 경우 colorCount()가 0을 반환합니다.

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 에 이 이미지의 형식과 호환되지 않는 소스 색 공간이 있는 경우 null QImage 을 반환합니다. transform 에 이 이미지의 형식과 호환되지 않는 대상 색 공간이 있는 경우 이미지도 호환되는 형식으로 변환됩니다. 대상 픽셀 형식의 선택에 대한 자세한 제어는 이 메서드의 세 가지 인수 오버로드를 참조하십시오.

이 함수는 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 과 호환되지 않는 대상 색 공간이 있는 경우 null QImage 을 반환합니다.

이 함수는 Qt 6.8에 도입되었습니다.

applyColorTransform()도 참조하십시오 .

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

이 함수는 오버로드된 함수입니다.

이미지의 모든 픽셀에 transform 을 사용하여 변환된 이미지 색상을 반환합니다.

이 함수는 Qt 6.4에 도입되었습니다.

applyColorTransform()도 참조하세요 .

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

이 함수는 오버로드된 함수입니다.

이미지의 모든 픽셀에 transform 을 사용하여 변환된 이미지 색상을 반환합니다.

이 함수는 Qt 6.8에 도입되었습니다.

applyColorTransform()도 참조하세요 .

const uchar *QImage::constBits() const

첫 번째 픽셀 데이터에 대한 포인터를 반환합니다.

QImage암시적 데이터 공유를 사용하지만, 반환되는 데이터가 const이므로 이 함수는 공유 픽셀 데이터의 딥 카피를 수행하지 않습니다.

bits() 및 constScanLine()도 참조하세요 .

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

인덱스가 i 인 스캔라인의 픽셀 데이터에 대한 포인터를 반환합니다. 첫 번째 스캔라인은 인덱스 0에 있습니다.

스캔라인 데이터는 최소 32비트 정렬됩니다. 64비트 형식의 경우 64비트 정수의 기본 정렬을 따릅니다(대부분의 플랫폼에서 64비트, 특히 i386에서는 32비트).

QImage 함수는 암시적 데이터 공유를 사용하지만, 반환되는 데이터가 const이므로 공유 픽셀 데이터의 딥 카피는 수행하지 않습니다.

scanLine() 및 constBits()도 참조하세요 .

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

이미지를 지정된 format 제자리에서 변환하고 필요한 경우 분리합니다.

지정된 이미지 변환 flags 은 변환 프로세스 중에 이미지 데이터가 처리되는 방식을 제어합니다.

convertedTo()도 참조하세요 .

void QImage::convertToColorSpace(const QColorSpace &colorSpace)

이미지를 colorSpace 로 변환합니다.

이미지에 유효한 색 공간이 없는 경우 이 메서드는 아무 작업도 수행하지 않습니다.

참고: colorSpace 이 현재 형식과 호환되지 않는 경우 이미지가 호환되는 형식으로 변환됩니다.

convertedToColorSpace() 및 setColorSpace()도 참조하세요 .

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

이미지를 colorSpaceformat 로 변환합니다.

이미지에 유효한 색 공간이 없는 경우나 색 공간이 형식과 호환되지 않는 경우 이 메서드는 아무 작업도 수행하지 않습니다.

지정된 이미지 변환 flags 은 형식 변환 프로세스 중에 이미지 데이터가 처리되는 방식을 제어합니다.

이 함수는 Qt 6.8에 도입되었습니다.

convertedToColorSpace() 및 setColorSpace()도 참조하세요 .

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

이 함수는 오버로드된 함수입니다.

지정된 colorTable 을 사용하여 지정된 format 으로 변환된 이미지 사본을 반환합니다.

RGB 형식에서 색인된 형식으로 변환하는 것은 느린 작업이며 디더링 없이 가장 가까운 색을 사용하는 간단한 접근 방식을 사용합니다.

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

colorSpace 로 변환된 이미지를 반환합니다.

이미지에 유효한 색 공간이 없는 경우 null QImage 이 반환됩니다.

참고: colorSpace 이 현재 형식과 호환되지 않는 경우 반환된 이미지도 이 형식으로 변환됩니다. 반환된 이미지 형식을 더 자세히 제어하려면 이 메서드의 세 가지 인수 오버로드를 참조하세요.

convertToColorSpace() 및 colorTransformed()도 참조하세요 .

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

이미지의 하위 영역을 새 이미지로 반환합니다.

반환된 이미지는 이 이미지의 위치(rectangle.x(), rectangle.y())에서 복사되며, 항상 지정된 rectangle 의 크기를 갖습니다.

이 이미지 이외의 영역에서는 픽셀이 0으로 설정됩니다. 32비트 RGB 이미지의 경우 검은색, 32비트 ARGB 이미지의 경우 투명한 검은색, 8비트 이미지의 경우 색상 표에서 인덱스가 0인 색(무엇이든 가능)을 의미하며 1비트 이미지의 경우 Qt::color0 을 의미합니다.

주어진 rectangle 이 널 사각형이면 전체 이미지가 복사됩니다.

QImage()도 참조하세요 .

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

이 함수는 오버로드된 함수입니다.

반환된 이미지는 이 이미지의 위치(x, y)에서 복사되며 항상 지정된 widthheight 을 갖습니다. 이 이미지 이외의 영역에서는 픽셀이 0으로 설정됩니다.

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

이 이미지의 알파 버퍼에서 1-bpp 마스크를 빌드하고 반환합니다. 이미지 형식이 QImage::Format_RGB32 인 경우 null 이미지를 반환합니다.

flags 인수는 Qt::ImageConversionFlags 의 비트 단위 OR이며 변환 프로세스를 제어합니다. 플래그에 0을 전달하면 모든 기본 옵션이 설정됩니다.

반환된 이미지는 리틀 엔디안 비트 순서(즉, 이미지 형식이 QImage::Format_MonoLSB)이며, convertToFormat() 함수를 사용하여 빅 엔디안(QImage::Format_Mono)으로 변환할 수 있습니다.

createHeuristicMask() 및 Image Transformations참조하세요 .

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

이 이미지에 대한 1-bpp 휴리스틱 마스크를 생성하고 반환합니다.

이 함수는 모서리 중 하나에서 색상을 선택한 다음 모든 가장자리부터 해당 색상의 픽셀을 잘라내는 방식으로 작동합니다. 네 모서리는 어떤 색상을 마스킹할지 투표합니다. 무승부인 경우(일반적으로 이 함수를 이미지에 적용할 수 없음을 의미) 결과는 임의로 결정됩니다.

반환된 이미지는 리틀엔디안 비트 순서(즉, 이미지 형식은 QImage::Format_MonoLSB)이며, convertToFormat() 함수를 사용하여 빅엔디안(QImage::Format_Mono)으로 변환할 수 있습니다.

clipTight (기본값)이 참이면 마스크는 픽셀을 덮을 만큼만 커지고, 그렇지 않으면 마스크가 데이터 픽셀보다 커집니다.

이 함수는 알파 버퍼를 무시한다는 점에 유의하세요.

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

이미지의 깊이를 반환합니다.

이미지 심도는 단일 픽셀을 저장하는 데 사용되는 비트 수로, 픽셀당 비트 수(bpp)라고도 합니다.

지원되는 심도는 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

이미지의 디바이스 픽셀 비율을 반환합니다. 이 비율은 디바이스 픽셀과 디바이스 독립 픽셀 사이의 비율입니다.

이미지 크기를 기준으로 레이아웃 지오메트리를 계산할 때 이 함수를 사용합니다: 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()는 인덱싱된 형식의 경우 동일한 값을 반환하고 QImage::pixel()는 RGB32, ARGB32 및 ARGB32PM 형식의 경우 동일한 값을 반환합니다.

depth() 및 Image Transformations도 참조하세요 .

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

이 함수는 오버로드된 함수입니다.

주어진 color, 표준 전역 색상으로 설명된 이미지로 이미지를 채웁니다.

void QImage::fill(const QColor &color)

이 함수는 과부하가 걸린 함수입니다.

주어진 color 으로 전체 이미지를 채웁니다.

이미지의 깊이가 1인 경우 colorQt::color1 과 같으면 이미지가 1로 채워지고, 그렇지 않으면 0으로 채워집니다.

이미지의 깊이가 8인 경우 이미지에 색상 표의 color 에 해당하는 인덱스가 있는 경우 해당 인덱스로 이미지를 채우고 그렇지 않으면 0으로 채웁니다.

[since 6.9] void QImage::flip(Qt::Orientations orient = Qt::Vertical)

orient 에 따라 이미지를 가로 및/또는 세로 방향으로 뒤집거나 미러링합니다.

이 함수는 Qt 6.9에 도입되었습니다.

flipped(Qt::Orientations) 및 Image Transformations참조하십시오 .

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일 때만 의미가 있습니다. 기본값 modeInvertRgb 으로 알파 채널은 변경되지 않습니다. modeInvertRgba 인 경우 알파 비트도 반전됩니다.

8비트 이미지를 반전한다는 것은 색상 인덱스 i를 사용하는 모든 픽셀을 색상 인덱스 255에서 i를 뺀 픽셀로 바꾸는 것을 의미하며, 1비트 이미지의 경우도 마찬가지입니다. 색상 표는 변경되지 않습니다.

이미지에 미리 곱셈된 알파 채널이 있는 경우 이미지가 먼저 곱셈되지 않은 이미지 형식으로 변환되어 반전된 다음 다시 변환됩니다.

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 을 반환합니다.

널 이미지는 모든 파라미터가 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, until 6.13] void QImage::mirror(bool horizontal = false, bool vertical = true)

이 함수는 버전 6.13에서 더 이상 사용되지 않을 예정입니다.

대신 flip(Qt::Orientations)을 사용하세요.

horizontalvertical 이 참 또는 거짓으로 설정되어 있는지 여부에 따라 이미지를 가로 및/또는 세로 방향으로 미러링합니다.

이 함수는 Qt 6.0에 도입되었습니다.

mirrored() 및 Image Transformations참조하십시오 .

QPoint QImage::offset() const

다른 이미지와 비교하여 위치를 지정할 때 이미지가 오프셋될 픽셀 수를 반환합니다.

setOffset() 및 Image Information참조하세요 .

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

주어진 position 에서 픽셀의 색을 반환합니다.

position 이 유효하지 않으면 결과가 정의되지 않습니다.

경고: 이 함수는 대량의 픽셀 조작에 사용할 경우 비용이 많이 듭니다. 많은 픽셀을 읽어야 하는 경우 constBits() 또는 constScanLine()를 사용하세요.

setPixel(), valid(), constBits(), constScanLine() 및 Pixel Manipulation도 참조하세요 .

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

이 함수는 오버로드된 함수입니다.

좌표에서 픽셀의 색을 반환합니다(x, y).

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

주어진 position 에서 픽셀의 색을 QColor 으로 반환합니다.

position 이 유효하지 않으면 유효하지 않은 QColor 이 반환됩니다.

경고: 이 함수는 대규모 픽셀 조작에 사용할 경우 비용이 많이 듭니다. 많은 픽셀을 읽어야 하는 경우 constBits() 또는 constScanLine()를 사용하세요.

setPixelColor(), setPixel(), valid(), constBits(), constScanLine() 및 Pixel Manipulation참조하세요 .

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

이 함수는 오버로드된 함수입니다.

좌표(x, y)에서 픽셀의 색을 QColor 로 반환합니다.

[noexcept] QPixelFormat QImage::pixelFormat() const

QImage::FormatQPixelFormat

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

주어진 position 에서 픽셀 인덱스를 반환합니다.

position 이 유효하지 않거나 이미지가 팔레트 이미지가 아닌 경우(depth() > 8) 결과는 정의되지 않습니다.

valid(), depth() 및 Pixel Manipulation참조하세요 .

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

이 함수는 오버로드된 함수입니다.

(x, y)에서 픽셀 인덱스를 반환합니다.

QRect QImage::rect() const

이미지의 둘러싸는 사각형(0, 0, width(), height())을 반환합니다.

Image Information참조하세요 .

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

데이터는 변경하지 않고 이미지 형식을 format 로 변경합니다. 동일한 깊이의 형식 간에만 작동합니다.

성공하면 true 을 반환합니다.

이 함수는 데이터가 불투명 전용으로 알려진 경우 알파 채널이 있는 이미지를 해당 불투명 포맷으로 변경하거나 새 데이터로 덮어쓰기 전에 지정된 이미지 버퍼의 포맷을 변경하는 데 사용할 수 있습니다.

경고: 이 함수는 이미지 데이터가 새 형식에서 유효한지 확인하지 않으며, 심도가 호환되는 경우에도 true 을 반환합니다. 유효하지 않은 데이터가 있는 이미지에 대한 작업은 정의되지 않습니다.

경고: 이미지가 분리되지 않은 경우 데이터가 복사됩니다.

hasAlphaChannel() 및 convertToFormat()도 참조하세요 .

[since 6.0] void QImage::rgbSwap()

모든 픽셀의 빨간색과 파란색 구성 요소의 값을 바꾸어 RGB 이미지를 BGR 이미지로 효과적으로 변환합니다.

이 기능은 Qt 6.0에 도입되었습니다.

rgbSwapped() 및 Image Transformations참조하십시오 .

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

주어진 이미지 파일 formatquality 인자를 사용하여 주어진 fileName 으로 이미지를 파일에 저장합니다. formatnullptr 인 경우 QImagefileName 의 접미사를 보고 형식을 추측하려고 시도합니다.

quality 계수는 0~100 또는 -1 범위여야 합니다. 작은 압축 파일을 얻으려면 0, 큰 비압축 파일을 얻으려면 100, 기본 설정을 사용하려면 -1(기본값)을 지정합니다.

이미지가 성공적으로 저장되면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

Reading and Writing Image Files참조하세요 .

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

이 함수는 오버로드된 함수입니다.

이 함수는 주어진 deviceQImage 을 씁니다.

예를 들어 이미지를 QByteArray 에 직접 저장하는 데 사용할 수 있습니다:

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

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

주어진 aspectRatioModetransformMode 에 따라 주어진 size 에 정의된 사각형으로 스케일링된 이미지 사본을 반환합니다.

  • aspectRatioModeQt::IgnoreAspectRatio 인 경우 이미지의 크기가 size 로 조정됩니다.
  • aspectRatioModeQt::KeepAspectRatio 인 경우 이미지의 가로 세로 비율을 유지하면서 size 내에서 가능한 한 큰 직사각형으로 크기가 조정됩니다.
  • aspectRatioModeQt::KeepAspectRatioByExpanding 인 경우 이미지가 size 외부에서 가능한 한 작은 직사각형으로 축소되어 가로 세로 비율을 유지합니다.

주어진 size 이 비어 있으면 이 함수는 null 이미지를 반환합니다.

isNull() 및 Image Transformations참조하세요 .

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

이 함수는 오버로드된 함수입니다.

주어진 aspectRatioModetransformMode 에 따라 주어진 widthheight 을 사용하여 직사각형으로 크기 조정된 이미지 사본을 반환합니다.

width 또는 height 이 0이거나 음수인 경우 이 함수는 null 이미지를 반환합니다.

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

이미지의 크기 조정된 복사본을 반환합니다. 반환된 이미지는 지정된 변환을 사용하여 지정된 height 에 맞게 크기가 조정됩니다 mode.

이 함수는 이미지의 비율이 유지되도록 이미지의 너비를 자동으로 계산합니다.

지정된 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입니다. 다른 값으로 설정하면 두 가지 효과가 있습니다:

이미지에 열려 있는 Q페인터의 크기가 조정됩니다. 예를 들어 비율이 2.0인 경우 200x200 이미지에 페인팅하면 (기기와 무관한) 유효 페인팅 바운드는 100x100이 됩니다.

이미지 크기를 기반으로 레이아웃 지오메트리를 계산하는 Qt의 코드 경로는 비율을 고려합니다: QSize layoutSize = image.size() / image.devicePixelRatio() 이로 인한 순 효과는 이미지가 큰 이미지가 아닌 높은 DPI 이미지로 표시된다는 것입니다( Drawing High Resolution Versions of Pixmaps and Images 참조).

devicePixelRatio() 및 deviceIndependentSize()도 참조하세요 .

void QImage::setDotsPerMeterX(int x)

실제 미터에 가로로 맞는 픽셀 수를 x 로 설정합니다.

이 숫자는 dotsPerMeterY()와 함께 이미지의 의도된 배율 및 종횡비를 정의하고 QPainter 이 이미지에 그래픽을 그리는 배율을 결정합니다. 다른 페인트 장치에서 렌더링할 때 이미지의 배율이나 종횡비는 변경되지 않습니다.

dotsPerMeterX() 및 Image Information참조하세요 .

void QImage::setDotsPerMeterY(int y)

실제 미터에 세로로 맞는 픽셀 수를 y 로 설정합니다.

이 숫자는 dotsPerMeterX()와 함께 이미지의 의도된 배율 및 종횡비를 정의하고 QPainter 이 이미지에 그래픽을 그리는 배율을 결정합니다. 다른 페인트 장치에서 렌더링할 때 이미지의 배율이나 종횡비는 변경되지 않습니다.

dotsPerMeterY() 및 Image Information참조하세요 .

void QImage::setOffset(const QPoint &offset)

다른 이미지와 비교하여 위치를 지정할 때 이미지가 오프셋될 픽셀 수를 offset 으로 설정합니다.

offset() 및 Image Information참조하세요 .

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

주어진 position 에서 픽셀 인덱스 또는 색상을 index_or_rgb 으로 설정합니다.

이미지 형식이 흑백이거나 팔레트인 경우 지정된 index_or_rgb 값은 이미지 색상 표의 인덱스여야 하며, 그렇지 않은 경우 매개변수는 QRgb 값이어야 합니다.

position 이 이미지의 유효한 좌표 쌍이 아니거나 흑백 및 팔레트 이미지의 경우 index_or_rgb >= colorCount()인 경우 결과는 정의되지 않은 값입니다.

경고: 이 함수는 내부에서 detach() 함수를 호출하기 때문에 비용이 많이 들며, 성능이 중요한 경우 scanLine() 또는 bits()를 사용하여 픽셀 데이터에 직접 액세스하는 것이 좋습니다.

pixel() 및 Pixel Manipulation참조하세요 .

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

이 함수는 오버로드된 함수입니다.

픽셀 인덱스 또는 색상을 (x, y)에서 index_or_rgb 로 설정합니다.

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

주어진 position 의 색상을 color 으로 설정합니다.

position 이 이미지의 유효한 좌표 쌍이 아니거나 이미지의 형식이 흑백 또는 팔레트인 경우 결과는 정의되지 않습니다.

경고: 이 함수는 내부에서 호출되는 detach() 함수 호출로 인해 비용이 많이 들기 때문에 성능이 우려되는 경우 scanLine() 또는 bits()를 사용하여 픽셀 데이터에 직접 액세스하는 것이 좋습니다.

pixelColor(), pixel(), bits(), scanLine() 및 Pixel Manipulation도 참조하세요 .

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

이 함수는 과부하된 함수입니다.

(x, y)에서 픽셀 색상을 color 로 설정합니다.

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

이미지 텍스트를 지정된 text 으로 설정하고 지정된 key 과 연결합니다.

단일 텍스트 블록(예: "댓글" 또는 설명)만 저장하려는 경우 빈 키를 전달하거나 "설명"과 같은 일반 키를 사용할 수 있습니다.

save() 또는 QImageWriter::write()을 호출하면 이미지 텍스트가 이미지 데이터에 포함됩니다.

모든 이미지 형식이 임베드된 텍스트를 지원하는 것은 아닙니다. QImageWriter::supportsOption ()를 사용하여 특정 이미지 또는 형식이 텍스트 임베딩을 지원하는지 확인할 수 있습니다. 예를 들어 보겠습니다:

    QImageWriter writer; writer.setFormat("png"); if (writer.supportsOption(QImageIOHandler::설명))        qDebug() << "Png supports embedded text";

QImageWriter::supportedImageFormats()를 사용하여 사용 가능한 이미지 형식을 확인할 수 있습니다.

text() 및 textKeys()도 참조하세요 .

QSize QImage::size() const

이미지의 크기, 즉 width() 및 height()를 반환합니다.

Image InformationdeviceIndependentSize()도 참조하세요 .

qsizetype QImage::sizeInBytes() const

이미지 데이터 크기를 바이트 단위로 반환합니다.

bytesPerLine(), bits() 및 Image Information참조하세요 .

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

이 이미지를 other 로 바꿉니다. 이 작업은 매우 빠르며 실패하지 않습니다.

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

지정된 key 과 연관된 이미지 텍스트를 반환합니다. 지정된 key 이 빈 문자열이면 각 키-텍스트 쌍이 개행으로 구분된 전체 이미지 텍스트가 반환됩니다.

setText() 및 textKeys()도 참조하세요 .

QStringList QImage::textKeys() const

이 이미지의 텍스트 키를 반환합니다.

이 키를 text()와 함께 사용하여 특정 키의 이미지 텍스트를 나열할 수 있습니다.

text()도 참조하세요 .

CGImageRef QImage::toCGImage() const

QImage 에 해당하는 CGImage 을 생성하고 CGImageRef 핸들을 반환합니다.

반환된 CGImageRef는 QImage 암시적 공유에 참여하며 QImage 데이터에 대한 참조를 보유합니다. CGImage는 변경 불가능하며 QImage 을 분리하지 않습니다. QImage 에 쓰면 평소처럼 분리됩니다.

이 함수는 속도가 빠르며 이미지 데이터를 복사하거나 변환하지 않습니다.

지원되는 이미지 형식은 다음과 같으며 해당 네이티브 이미지 유형에 매핑됩니다:

QtCoreGraphics
Format_ARGB32kCGImageAlphaFirst | kCGBitmapByteOrder32Host
Format_RGB32kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Host
Format_RGBA8888_PremultipliedkCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big
Format_RGBA8888kCGImageAlphaLast | kCGBitmapByteOrder32Big
Format_RGBX8888kCGImageAlphaNoneSkipLast | kCGBitmapByteOrder32Big
Format_ARGB32_PremultipliedkCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host

다른 형식은 지원되지 않으며, 이 함수는 이러한 경우 null CGImageRef를 반환합니다. 이 함수의 사용자는 QImage 를 지원되는 형식(예: Format_ARGB32_Premultiplied)으로 먼저 변환할 수 있습니다.

CGImageRef 색 공간은 sRGB 색 공간으로 설정됩니다.

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

QImage 에 해당하는 HBITMAP 을 만듭니다.

HBITMAP 핸들을 반환합니다.

사용 후 HBITMAP 데이터를 해제하는 것은 호출자의 책임입니다.

BitBlt() 와 같은 표준 GDI 호출에 사용하는 경우 이미지의 형식은 QImage::Format_RGB32 이어야 합니다.

AlphaBlend() GDI 함수에 결과 HBITMAP을 사용하는 경우 이미지의 형식은 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)

formatQImage::Format

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

formatQPixelFormat

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

주어진 변환 matrix 과 변환 mode 을 사용하여 변환된 이미지의 복사본을 반환합니다.

반환된 이미지는 일반적으로 원본 이미지와 동일한 {이미지 형식}{형식}을 갖습니다. 그러나 복잡한 변환을 사용하면 모든 픽셀이 원본 이미지의 변환된 픽셀로 덮이지 않는 이미지가 생성될 수 있습니다. 이러한 경우 이러한 배경 픽셀에는 투명한 색상 값이 할당되고 원본 이미지에는 알파 채널이 없더라도 변환된 이미지에는 알파 채널이 있는 형식이 지정됩니다.

matrix 변환은 원치 않는 변환을 보정하기 위해 내부적으로 조정됩니다. 즉, 생성된 이미지는 원본 이미지의 모든 변환된 점을 포함하는 가장 작은 이미지입니다. trueMatrix () 함수를 사용하여 이미지 변환에 사용된 실제 행렬을 검색합니다.

다른 오버로드와 달리 이 함수는 이미지에 원근 변환을 수행하는 데 사용할 수 있습니다.

trueMatrix() 및 Image Transformations참조하세요 .

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

주어진 width, heightmatrix 로 이미지를 변환하는 데 사용된 실제 행렬을 반환합니다.

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)

이동-이 other 인스턴스를 QImage 인스턴스에 할당합니다.

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

주어진 image 의 얕은 복사본을 이 이미지에 할당하고 이 이미지에 대한 참조를 반환합니다.

얕은 복사본에 대한 자세한 내용은 암시적 데이터 공유 문서를 참조하세요.

copy() 및 QImage()도 참조하세요 .

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

이 이미지와 주어진 image 의 내용이 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

명백한 차이(예: 크기나 형식이 다른 경우)가 없는 한 비교가 느릴 수 있으며, 이 경우 함수는 빠르게 반환합니다.

operator=()도 참조하세요 .

관련 비회원

QImageCleanupFunction

기본 이미지 메모리 관리를 구현하는 데 사용할 수 있는 다음 서명을 가진 함수입니다:

void myImageCleanupHandler(void *info);

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

주어진 image 을 주어진 stream 에 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.