QPixmap Class
QPixmap 클래스는 페인트 장치로 사용할 수 있는 화면 밖 이미지 표현입니다. 더 보기...
헤더: | #include <QPixmap> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
상속합니다: | QPaintDevice |
상속 대상: |
- 상속된 멤버를 포함한 모든 멤버 목록
- QPixmap은 페인팅 클래스와 암시적으로 공유되는 클래스의 일부입니다.
공용 함수
QPixmap() | |
QPixmap(const char *const[] xpm) | |
QPixmap(int width, int height) | |
QPixmap(const QString &fileName, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor) | |
QPixmap(const QSize &size) | |
QPixmap(const QPixmap &pixmap) | |
QPixmap(QPixmap &&other) | |
virtual | ~QPixmap() |
qint64 | cacheKey() const |
bool | convertFromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor) |
QPixmap | copy(const QRect &rectangle = QRect()) const |
QPixmap | copy(int x, int y, int width, int height) const |
QBitmap | createHeuristicMask(bool clipTight = true) const |
QBitmap | createMaskFromColor(const QColor &maskColor, Qt::MaskMode mode = Qt::MaskInColor) const |
int | depth() const |
void | detach() |
(since 6.2) QSizeF | deviceIndependentSize() const |
qreal | devicePixelRatio() const |
void | fill(const QColor &color = Qt::white) |
bool | hasAlpha() const |
bool | hasAlphaChannel() const |
int | height() const |
bool | isNull() const |
bool | isQBitmap() const |
bool | load(const QString &fileName, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor) |
bool | loadFromData(const uchar *data, uint len, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor) |
bool | loadFromData(const QByteArray &data, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor) |
QBitmap | mask() const |
QRect | rect() const |
bool | save(const QString &fileName, const char *format = nullptr, int quality = -1) const |
bool | save(QIODevice *device, const char *format = nullptr, int quality = -1) const |
QPixmap | scaled(const QSize &size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const |
QPixmap | scaled(int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const |
QPixmap | scaledToHeight(int height, Qt::TransformationMode mode = Qt::FastTransformation) const |
QPixmap | scaledToWidth(int width, Qt::TransformationMode mode = Qt::FastTransformation) const |
void | scroll(int dx, int dy, const QRect &rect, QRegion *exposed = nullptr) |
void | scroll(int dx, int dy, int x, int y, int width, int height, QRegion *exposed = nullptr) |
void | setDevicePixelRatio(qreal scaleFactor) |
void | setMask(const QBitmap &mask) |
QSize | size() const |
void | swap(QPixmap &other) |
QImage | toImage() const |
QPixmap | transformed(const QTransform &transform, Qt::TransformationMode mode = Qt::FastTransformation) const |
int | width() const |
QVariant | operator QVariant() const |
bool | operator!() const |
QPixmap & | operator=(QPixmap &&other) |
QPixmap & | operator=(const QPixmap &pixmap) |
정적 공용 멤버
int | defaultDepth() |
QPixmap | fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor) |
QPixmap | fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor) |
QPixmap | fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags = Qt::AutoColor) |
QTransform | trueMatrix(const QTransform &matrix, int width, int height) |
관련 비회원
QDataStream & | operator<<(QDataStream &stream, const QPixmap &pixmap) |
QDataStream & | operator>>(QDataStream &stream, QPixmap &pixmap) |
상세 설명
Qt는 이미지 데이터를 처리하기 위한 네 가지 클래스를 제공합니다: QImage, QPixmap, QBitmap 및 QPicture 입니다. QImage 는 I/O 와 직접 픽셀 액세스 및 조작을 위해 설계되고 최적화된 반면, QPixmap은 화면에 이미지를 표시하기 위해 설계되고 최적화된 클래스입니다. QBitmap 는 QPixmap을 상속하는 편의 클래스일 뿐이며 깊이 1을 보장합니다. isQBitmap() 함수는 QPixmap 객체가 실제로 비트맵인 경우 true
를 반환하고 그렇지 않으면 false
를 반환합니다. 마지막으로 QPicture 클래스는 QPainter 명령을 기록하고 재생하는 페인트 장치입니다.
QLabel 또는 QAbstractButton 의 하위 클래스 중 하나(예: QPushButton 및 QToolButton)를 사용하여 QPixmap을 화면에 쉽게 표시할 수 있습니다. QLabel 에는 pixmap 속성이 있는 반면 QAbstractButton 에는 아이콘 속성이 있습니다.
QPixmap 클래스는 암시적 데이터 공유를 사용하므로 QPixmap 객체를 값으로 전달할 수 있습니다. 자세한 내용은 암시적 데이터 공유 문서를 참조하세요. QPixmap 객체는 스트리밍할 수도 있습니다.
픽셀맵의 픽셀 데이터는 내부적이며 기본 창 시스템에 의해 관리된다는 점에 유의하세요. QPixmap은 QPaintDevice 서브클래스이므로 QPainter 을 사용하여 픽스맵에 직접 그릴 수 있습니다. 픽셀은 QPainter 함수를 통해서만 액세스하거나 QPixmap을 QImage 로 변환해야 합니다. 그러나 fill() 함수는 전체 픽셀맵을 지정된 색상으로 초기화하는 데 사용할 수 있습니다.
QImage 와 QPixmap 사이를 변환하는 함수가 있습니다. 일반적으로 QImage 클래스는 이미지 파일을 로드하고 선택적으로 이미지 데이터를 조작한 후 QImage 객체를 화면에 표시할 QPixmap으로 변환하는 데 사용됩니다. 또는 조작을 원하지 않는 경우 이미지 파일을 QPixmap에 직접 로드할 수 있습니다.
QPixmap은 픽셀맵에 대한 다양한 정보를 얻는 데 사용할 수 있는 함수 모음을 제공합니다. 또한 픽스맵을 변형할 수 있는 몇 가지 함수가 있습니다.
이미지 파일 읽기 및 쓰기
QPixmap은 이미지 파일을 읽는 여러 가지 방법을 제공합니다: QPixmap 객체를 만들 때 파일을 로드하거나 나중에 load() 또는 loadFromData() 함수를 사용하여 파일을 로드할 수 있습니다. 이미지를 로드할 때 파일 이름은 디스크의 실제 파일을 참조하거나 애플리케이션에 내장된 리소스 중 하나를 참조할 수 있습니다. 애플리케이션의 실행 파일에 이미지 및 기타 리소스 파일을 임베드하는 방법에 대한 자세한 내용은 Qt 리소스 시스템 개요를 참조하십시오.
save() 함수를 호출하여 QPixmap 객체를 저장하기만 하면 됩니다.
지원되는 파일 형식의 전체 목록은 QImageReader::supportedImageFormats() 및 QImageWriter::supportedImageFormats() 함수를 통해 확인할 수 있습니다. 새로운 파일 형식은 플러그인으로 추가할 수 있습니다. 기본적으로 Qt는 다음 형식을 지원합니다:
포맷 | 설명 | Qt의 지원 |
---|---|---|
BMP | 윈도우 비트맵 | 읽기/쓰기 |
GIF | 그래픽 교환 형식(선택 사항) | 읽기 |
JPG | 공동 사진 전문가 그룹 | 읽기/쓰기 |
JPEG | 공동 사진 전문가 그룹 | 읽기/쓰기 |
PNG | 휴대용 네트워크 그래픽 | 읽기/쓰기 |
PBM | 휴대용 비트맵 | 읽기 |
PGM | 휴대용 그레이맵 | 읽기 |
PPM | 휴대용 픽스맵 | 읽기/쓰기 |
XBM | X11 비트맵 | 읽기/쓰기 |
XPM | X11 픽스맵 | 읽기/쓰기 |
픽스맵 정보
QPixmap은 픽스맵에 대한 다양한 정보를 얻는 데 사용할 수 있는 함수 모음을 제공합니다:
사용 가능한 함수 | |
---|---|
지오메트리 | size(), width() 및 height() 함수는 픽셀맵의 크기에 대한 정보를 제공합니다. rect () 함수는 이미지의 둘러싸는 사각형을 반환합니다. |
알파 컴포넌트 | hasAlphaChannel()는 픽셀맵에 알파 채널을 존중하는 형식이 있는 경우 true 을 반환하고, 그렇지 않으면 false 을 반환합니다. hasAlpha (), setMask() 및 mask() 함수는 레거시 함수이므로 사용해서는 안 됩니다. 잠재적으로 매우 느릴 수 있습니다.createHeuristicMask() 함수는 이 픽셀맵에 대해 1-bpp 휴리스틱 마스크(예: QBitmap)를 생성하고 반환합니다. 이 함수는 모서리 중 하나에서 색상을 선택한 다음 모든 가장자리에서 시작하여 해당 색상의 픽셀을 잘라내는 방식으로 작동합니다. createMaskFromColor () 함수는 주어진 색상을 기반으로 픽셀맵에 대한 마스크(예: QBitmap)를 생성하고 반환합니다. |
저수준 정보 | depth() 함수는 픽셀맵의 깊이를 반환합니다. defaultDepth () 함수는 기본 깊이, 즉 주어진 화면에서 애플리케이션이 사용하는 깊이를 반환합니다. cacheKey() 함수는 QPixmap 객체의 내용을 고유하게 식별하는 숫자를 반환합니다. |
픽스맵 변환
toImage() 함수를 사용하여 QPixmap 객체를 QImage 로 변환할 수 있습니다. 마찬가지로 fromImage() 함수를 사용하여 QImage 을 QPixmap으로 변환할 수 있습니다. 이 작업이 너무 비싸다면 QBitmap::fromImage()를 대신 사용할 수 있습니다.
위에서 설명한 대로 QPixmap을 QImage 로 변환한 후 각각 QImage::toHICON() 및 QImage::fromHICON() 함수를 사용하여 QPixmap을 HICON으로 변환할 수 있습니다.
픽스맵 변환
QPixmap은 원본의 변형된 버전인 새로운 픽셀맵을 만들기 위한 여러 함수를 지원합니다:
scaled(), scaledToWidth() 및 scaledToHeight() 함수는 픽셀맵의 크기 조정된 복사본을 반환하고, copy() 함수는 원본의 일반 복사본인 QPixmap을 만듭니다.
transformed() 함수는 주어진 변환 행렬과 변환 모드로 변환된 픽셀맵의 복사본을 반환합니다: 내부적으로 변환 행렬은 원치 않는 변환을 보정하기 위해 조정됩니다. transformed()는 원본 픽셀맵의 모든 변환된 점을 포함하는 가장 작은 픽셀맵을 반환합니다. 정적 trueMatrix() 함수는 픽셀맵을 변환하는 데 사용된 실제 행렬을 반환합니다.
QBitmap, QImage, QImageReader, QImageWriter 를참조하세요 .
멤버 함수 문서
QPixmap::QPixmap()
널 픽셀맵을 구축합니다.
isNull()도 참조하세요 .
[explicit]
QPixmap::QPixmap(const char *const[] xpm)
주어진 xpm 데이터에서 픽셀맵을 생성하며, 이 픽셀맵은 유효한 XPM 이미지여야 합니다.
오류는 자동으로 무시됩니다.
특이한 선언을 사용하여 XPM 변수를 약간 압축할 수 있습니다:
static const char * const start_xpm[] = { "16 15 8 1", "a c #cec6bd", // etc. };
const
을 추가하면 전체 정의가 읽기 전용이 되므로 약간 더 효율적이며(예: 코드가 공유 라이브러리에 있는 경우) 애플리케이션을 ROM에 저장해야 하는 경우 ROM 가능으로 설정할 수 있습니다.
QPixmap::QPixmap(int width, int height)
주어진 width 및 height 으로 픽셀맵을 생성합니다. width 또는 height 이 0이면 널 픽셀맵을 생성합니다.
isNull()도 참조하세요 .
QPixmap::QPixmap(const QString &fileName, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor)
주어진 fileName 파일에서 픽셀맵을 생성합니다. 파일이 존재하지 않거나 알 수 없는 형식인 경우, 픽셀맵은 널 픽셀맵이 됩니다.
로더는 지정된 format 을 사용하여 픽셀맵을 읽으려고 시도합니다. format 이 지정되지 않은 경우(기본값) 로더는 파일에서 헤더를 검사하여 파일 형식을 추측합니다.
파일 이름은 디스크의 실제 파일 또는 애플리케이션의 임베디드 리소스 중 하나를 참조할 수 있습니다. 애플리케이션 실행 파일에 이미지 및 기타 리소스 파일을 임베드하는 방법에 대한 자세한 내용은 리소스 시스템 개요를 참조하세요.
저해상도 결과에 맞게 이미지를 수정해야 하는 경우(예: 32비트에서 8비트로 변환) flags 을 사용하여 변환을 제어합니다.
fileName, format 및 flags 매개 변수는 load()로 전달됩니다. 즉, fileName 의 데이터는 바이너리로 컴파일되지 않습니다. fileName 에 상대 경로(예: 파일 이름만)가 포함된 경우 관련 파일은 런타임 작업 디렉터리를 기준으로 찾아야 합니다.
Reading and Writing Image Files 를참조하세요 .
[explicit]
QPixmap::QPixmap(const QSize &size)
이 함수는 오버로드된 함수입니다.
주어진 size 의 픽셀맵을 생성합니다.
QPixmap::QPixmap(const QPixmap &pixmap)
주어진 pixmap 의 복사본인 픽셀맵을 생성합니다.
copy()도 참조하세요 .
[noexcept]
QPixmap::QPixmap(QPixmap &&other)
이동 - other 에서 QPixmap 인스턴스를 생성합니다.
swap() 및 operator=(QPixmap&&)도 참조하세요 .
[virtual noexcept]
QPixmap::~QPixmap()
픽셀맵을 파괴합니다.
qint64 QPixmap::cacheKey() const
이를 식별하는 번호를 반환합니다 QPixmap. 고유한 QPixmap 객체는 동일한 콘텐츠를 참조하는 경우에만 동일한 캐시 키를 가질 수 있습니다.
픽셀맵이 변경되면 cacheKey()가 변경됩니다.
bool QPixmap::convertFromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor)
변환을 제어하기 위해 지정된 flags 을 사용하여 이 픽셀맵의 데이터를 지정된 image 으로 바꿉니다. flags 인수는 Qt::ImageConversionFlags 의 비트 단위 OR입니다. flags 에 0을 전달하면 모든 기본 옵션이 설정됩니다. 결과가 이 픽셀맵이 null이 아닌 경우 true
을 반환합니다.
fromImage()도 참조하세요 .
QPixmap QPixmap::copy(const QRect &rectangle = QRect()) const
주어진 rectangle 에 지정된 픽셀맵 하위 집합의 딥 카피를 반환합니다. 딥 카피에 대한 자세한 내용은 암시적 데이터 공유 문서를 참조하세요.
지정된 rectangle 이 비어 있으면 전체 이미지가 복사됩니다.
operator=(), QPixmap() 및 Pixmap Transformations 를참조하세요 .
QPixmap QPixmap::copy(int x, int y, int width, int height) const
이 함수는 오버로드된 함수입니다.
사각형 QRect( x, y, width, height)으로 지정된 픽셀맵 하위 집합의 딥 카피를 반환합니다.
QBitmap QPixmap::createHeuristicMask(bool clipTight = true) const
이 픽셀맵에 대한 휴리스틱 마스크를 생성하고 반환합니다.
이 함수는 모서리 중 하나에서 색상을 선택한 다음 모든 가장자리에서 시작하여 해당 색상의 픽셀을 잘라내는 방식으로 작동합니다. clipTight (기본값)이 참이면 마스크는 픽셀을 덮을 수 있을 만큼만 커지고, 그렇지 않으면 마스크가 데이터 픽셀보다 커집니다.
마스크가 완벽하지는 않지만 합리적이어야 하므로 다음과 같은 작업을 수행할 수 있습니다:
QPixmap myPixmap; myPixmap.setMask(myPixmap.createHeuristicMask());
이 함수는 QImage 로 변환하고 사소하지 않은 계산을 포함하므로 속도가 느립니다.
QImage::createHeuristicMask() 및 createMaskFromColor()도 참조하세요 .
QBitmap QPixmap::createMaskFromColor(const QColor &maskColor, Qt::MaskMode mode = Qt::MaskInColor) const
주어진 maskColor 을 기반으로 이 픽셀맵에 대한 마스크를 생성하고 반환합니다. mode 이 Qt::MaskInColor 인 경우 maskColor와 일치하는 모든 픽셀이 투명해집니다. mode 이 Qt::MaskOutColor 인 경우 maskColor와 일치하는 모든 픽셀은 불투명해집니다.
이 함수는 QImage 로 변환해야 하므로 속도가 느립니다.
createHeuristicMask() 및 QImage::createMaskFromColor()도 참조하세요 .
[static]
int QPixmap::defaultDepth()
애플리케이션에서 사용하는 기본 픽셀맵 깊이를 반환합니다.
모든 플랫폼에서 기본 화면의 깊이가 반환됩니다.
참고: 이 함수를 호출하기 전에QGuiApplication 을 생성해야 합니다.
depth(), QColormap::depth() 및 Pixmap Information 를참조하세요 .
int QPixmap::depth() const
픽셀맵의 깊이를 반환합니다.
픽셀당 비트(bpp) 또는 픽셀의 비트 평면이라고도 하는 픽셀맵 깊이를 반환합니다. 널 픽셀맵의 깊이는 0입니다.
defaultDepth() 및 Pixmap Information 을참조하세요 .
void QPixmap::detach()
공유 픽스맵 데이터에서 픽스맵을 분리합니다.
픽스맵은 그 내용이 변경될 때마다 Qt에 의해 자동으로 분리됩니다. 이것은 픽스맵을 수정하는 거의 모든 QPixmap 멤버 함수(fill(), fromImage(), load() 등)와 픽스맵의 QPainter::begin()에서 수행됩니다.
detach()를 명시적으로 호출해야 하는 두 가지 예외가 있는데, 핸들() 또는 x11PictureHandle() 함수(X11에서만 사용 가능)를 호출할 때입니다. 그렇지 않으면 시스템 호출을 사용하여 수행한 모든 수정 작업이 공유 데이터에 대해 수행됩니다.
참조가 하나뿐이거나 픽셀맵이 아직 초기화되지 않은 경우 detach() 함수는 즉시 반환됩니다.
[since 6.2]
QSizeF QPixmap::deviceIndependentSize() const
픽셀맵의 크기를 디바이스 독립 픽셀 단위로 반환합니다.
이 값은 사용자 인터페이스 크기 계산에 픽셀맵 크기를 사용할 때 사용해야 합니다.
반환 값은size() / pixmap.devicePixelRatio()과 같습니다.
이 함수는 Qt 6.2에 도입되었습니다.
qreal QPixmap::devicePixelRatio() const
픽셀맵의 디바이스 픽셀 비율을 반환합니다. 이 비율은 디바이스 픽셀과 디바이스 독립 픽셀 사이의 비율입니다.
이 함수는 픽셀맵 크기를 기준으로 레이아웃 지오메트리를 계산할 때 사용합니다: QSize layoutSize = image.size() / image.devicePixelRatio()
기본값은 1.0입니다.
setDevicePixelRatio() 및 QImageReader 을참조하세요 .
void QPixmap::fill(const QColor &color = Qt::white)
주어진 color 으로 픽셀맵을 채웁니다.
이 함수의 효과는 픽셀맵을 칠할 때 정의되지 않습니다.
Pixmap Transformations 를참조하세요 .
[static]
QPixmap QPixmap::fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor)
지정된 flags 을 사용하여 주어진 image 을 픽셀맵으로 변환합니다. flags 인수는 Qt::ImageConversionFlags 의 비트 단위 OR입니다. flags 에 0을 전달하면 모든 기본 옵션이 설정됩니다.
흑백 및 8비트 이미지의 경우 이미지를 먼저 32비트 픽셀맵으로 변환한 다음 색상 표의 색상으로 채웁니다. 이 작업이 너무 많은 비용이 드는 경우 QBitmap::fromImage()를 대신 사용할 수 있습니다.
fromImageReader(), toImage() 및 Pixmap Conversion 를참조하세요 .
[static]
QPixmap QPixmap::fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor)
이 함수는 오버로드된 함수입니다.
주어진 image 을 가능하면 복사하지 않고 픽셀맵으로 변환합니다.
[static]
QPixmap QPixmap::fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags = Qt::AutoColor)
imageReader 에서 직접 읽은 이미지에서 QPixmap 을 만듭니다. flags 인수는 Qt::ImageConversionFlags 의 비트 단위 OR입니다. flags 에 0을 전달하면 모든 기본 옵션이 설정됩니다.
일부 시스템에서는 이미지를 QPixmap 로 직접 읽는 것이 QImage 을 읽어 QPixmap 로 변환하는 것보다 메모리를 덜 사용할 수 있습니다.
fromImage(), toImage() 및 Pixmap Conversion 를참조하세요 .
bool QPixmap::hasAlpha() const
이 픽셀맵에 알파 채널이 있거나 마스크가 있는 경우 true
를 반환하고, 그렇지 않으면 false
을 반환합니다.
hasAlphaChannel() 및 mask()도 참조하세요 .
bool QPixmap::hasAlphaChannel() const
픽셀맵에 알파 채널을 존중하는 형식이 있으면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
hasAlpha()도 참조하세요 .
int QPixmap::height() const
픽셀맵의 높이를 반환합니다.
size() 및 Pixmap Information 를참조하세요 .
bool QPixmap::isNull() const
널 픽셀맵이면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
널픽스맵은 너비, 높이가 0이고 콘텐츠가 없습니다. 널 픽셀맵은 그릴 수 없습니다.
bool QPixmap::isQBitmap() const
QBitmap 인 경우 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
bool QPixmap::load(const QString &fileName, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor)
주어진 fileName 으로 파일에서 픽셀맵을 로드합니다. 픽셀맵이 성공적으로 로드되면 true를 반환하고, 그렇지 않으면 픽셀맵을 무효화하고 false
를 반환합니다.
로더는 지정된 format 을 사용하여 픽셀맵을 읽으려고 시도합니다. format 이 지정되지 않은 경우(기본값), 로더는 파일에서 헤더를 검사하여 파일 형식을 추측합니다.
파일 이름은 디스크의 실제 파일 또는 애플리케이션의 임베디드 리소스 중 하나를 참조할 수 있습니다. 애플리케이션 실행 파일에 픽셀맵 및 기타 리소스 파일을 임베드하는 방법에 대한 자세한 내용은 리소스 시스템 개요를 참조하세요.
저해상도 결과에 맞게 데이터를 수정해야 하는 경우(예: 32비트에서 8비트로 변환) flags 을 사용하여 변환을 제어합니다.
메인 스레드에서 파일에서 로드할 때 QPixmap이 QPixmapCache 에 자동으로 추가되며, 사용되는 키는 내부 키이므로 획득할 수 없다는 점에 유의하세요.
loadFromData() 및 Reading and Writing Image Files 을참조하세요 .
bool QPixmap::loadFromData(const uchar *data, uint len, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor)
주어진 바이너리 data 의 len 첫 바이트에서 픽셀맵을 로드합니다. 픽셀맵이 성공적으로 로드되면 true
을 반환하고, 그렇지 않으면 픽셀맵을 무효화하고 false
을 반환합니다.
로더는 지정된 format 를 사용하여 픽셀맵을 읽으려고 시도합니다. format 이 지정되지 않은 경우(기본값), 로더는 파일에서 헤더를 검사하여 파일 형식을 추측합니다.
저해상도 결과에 맞게 데이터를 수정해야 하는 경우(예: 32비트에서 8비트로 변환) flags 을 사용하여 변환을 제어합니다.
load() 및 Reading and Writing Image Files 을참조하세요 .
bool QPixmap::loadFromData(const QByteArray &data, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor)
이 함수는 오버로드된 함수입니다.
지정된 format 및 변환 flags 을 사용하여 바이너리 data 에서 픽스맵을 로드합니다.
QBitmap QPixmap::mask() const
픽셀맵의 알파 채널에서 비트맵 마스크를 추출합니다.
경고: 이 작업은 잠재적으로 비용이 많이 드는 작업입니다. 픽셀데이터에서 동적으로 픽셀맵의 마스크를 추출합니다.
setMask() 및 Pixmap Information 을참조하세요 .
QRect QPixmap::rect() const
픽셀맵의 둘러싸는 사각형을 반환합니다.
Pixmap Information 를참조하세요 .
bool QPixmap::save(const QString &fileName, const char *format = nullptr, int quality = -1) const
지정된 이미지 파일 format 및 quality 인자를 사용하여 지정된 fileName 파일에 픽셀맵을 저장합니다. 성공하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
quality 계수는 [0,100] 또는 -1 범위여야 합니다. 작은 압축 파일을 얻으려면 0을, 큰 비압축 파일을 얻으려면 100을, 기본 설정을 사용하려면 -1을 지정합니다.
format 가 nullptr
인 경우 fileName 의 접미사에서 이미지 형식이 선택됩니다.
Reading and Writing Image Files 를참조하세요 .
bool QPixmap::save(QIODevice *device, const char *format = nullptr, int quality = -1) const
이 함수는 오버로드된 함수입니다.
이 함수는 지정된 이미지 파일 format 및 quality 인자를 사용하여 지정된 device 에 QPixmap 을 씁니다. 예를 들어 픽셀맵을 QByteArray 에 직접 저장하는 데 사용할 수 있습니다:
QPixmap pixmap; QByteArray bytes; QBuffer buffer(&bytes); buffer.open(QIODevice::WriteOnly); pixmap.save(&buffer, "PNG"); // writes pixmap into bytes in PNG format
QPixmap QPixmap::scaled(const QSize &size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const
aspectRatioMode 및 transformMode 에 지정된 종횡비 및 변환 모드를 사용하여 주어진 size 로 픽셀맵의 크기를 조정합니다.
- aspectRatioMode 가 Qt::IgnoreAspectRatio 인 경우, 픽셀맵은 size 로 스케일링됩니다.
- aspectRatioMode 이 Qt::KeepAspectRatio 인 경우 픽셀맵은 화면 비율을 유지하면서 size 내에서 가능한 한 큰 직사각형으로 크기가 조정됩니다.
- aspectRatioMode 이 Qt::KeepAspectRatioByExpanding 인 경우 픽셀맵은 화면 비율을 유지하면서 size 외부에서 가능한 한 작은 직사각형으로 크기가 조정됩니다.
주어진 size 이 비어 있으면 이 함수는 null 픽셀맵을 반환합니다.
어떤 경우에는 픽셀맵의 크기를 조정하는 것보다 배율이 설정된 페인터로 픽셀맵을 그리는 것이 더 유리할 수 있습니다. 예를 들어 페인터가 OpenGL 기반이거나 배율이 급격하게 변하는 경우가 이에 해당합니다.
isNull() 및 Pixmap Transformations 을참조하세요 .
QPixmap QPixmap::scaled(int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const
이 함수는 오버로드된 함수입니다.
주어진 aspectRatioMode 및 transformMode 에 따라 주어진 width 및 height 의 사각형으로 크기가 조정된 픽셀맵 사본을 반환합니다.
width 또는 height 이 0이거나 음수인 경우 이 함수는 null 픽셀맵을 반환합니다.
QPixmap QPixmap::scaledToHeight(int height, Qt::TransformationMode mode = Qt::FastTransformation) const
이미지의 크기 조정된 복사본을 반환합니다. 반환된 이미지는 지정된 변환을 사용하여 지정된 height 에 맞게 크기가 조정됩니다 mode. 픽셀맵의 가로 세로 비율이 유지되도록 픽셀맵의 너비가 자동으로 계산됩니다.
height 이 0이거나 음수이면 null 픽셀맵이 반환됩니다.
isNull() 및 Pixmap Transformations 을참조하세요 .
QPixmap QPixmap::scaledToWidth(int width, Qt::TransformationMode mode = Qt::FastTransformation) const
이미지의 크기 조정된 복사본을 반환합니다. 반환된 이미지는 지정된 변환을 사용하여 지정된 width 에 맞게 크기 조정됩니다 mode. 픽셀맵의 가로 세로 비율이 유지되도록 픽셀맵의 높이가 자동으로 계산됩니다.
width 이 0이거나 음수이면 null 픽셀맵이 반환됩니다.
isNull() 및 Pixmap Transformations 을참조하세요 .
void QPixmap::scroll(int dx, int dy, const QRect &rect, QRegion *exposed = nullptr)
이 픽셀맵의 영역 rect 을 (dx, dy)만큼 스크롤합니다. 노출된 영역은 변경되지 않습니다. 선택적으로 빈 QRegion 에 포인터를 전달하여 스크롤 작업으로 exposed 영역을 가져올 수 있습니다.
픽셀맵에 활성 페인터가 있는 동안에는 스크롤할 수 없습니다.
QWidget::scroll() 및 QGraphicsItem::scroll()도 참조하세요 .
void QPixmap::scroll(int dx, int dy, int x, int y, int width, int height, QRegion *exposed = nullptr)
이 편의 기능은 QPixmap::scroll(dx, dy, QRect(x, y, width, height), exposed)을 호출하는 것과 동일합니다.
QWidget::scroll() 및 QGraphicsItem::scroll()도 참조하세요 .
void QPixmap::setDevicePixelRatio(qreal scaleFactor)
픽셀맵의 디바이스 픽셀 비율을 설정합니다. 이미지 픽셀과 디바이스 독립 픽셀 간의 비율입니다.
기본값 scaleFactor 은 1.0입니다. 다른 값으로 설정하면 두 가지 효과가 있습니다:
픽셀맵에서 열린 Q페인터의 크기가 조정됩니다. 예를 들어 비율이 2.0인 경우 200x200 이미지에 페인팅하면 (장치에 독립적인) 유효 페인팅 바운드는 100x100이 됩니다.
픽셀맵 크기를 기반으로 레이아웃 지오메트리를 계산하는 Qt의 코드 경로는 비율을 고려합니다: QSize layoutSize = 픽셀맵.size() / 픽셀맵.devicePixelRatio() 그 결과 픽셀맵이 큰 픽셀맵이 아닌 높은 DPI 픽셀맵으로 표시됩니다( Drawing High Resolution Versions of Pixmaps and Images 참조).
devicePixelRatio() 및 deviceIndependentSize()도 참조하세요 .
void QPixmap::setMask(const QBitmap &mask)
마스크 비트맵을 설정합니다.
이 함수는 mask 을 픽셀맵의 알파 채널과 병합합니다. 마스크의 픽셀 값이 1이면 픽셀맵의 픽셀이 변경되지 않고, 0이면 픽셀이 투명하다는 뜻입니다. 마스크의 크기는 이 픽셀맵과 같아야 합니다.
널 마스크를 설정하면 마스크가 초기화되어 이전에 투명했던 픽셀이 검은색으로 유지됩니다. 이 함수의 효과는 픽셀맵을 칠할 때 정의되지 않습니다.
경고: 이 작업은 잠재적으로 비용이 많이 드는 작업입니다.
mask(), Pixmap Transformations, QBitmap 를참조하세요 .
QSize QPixmap::size() const
픽셀맵의 크기를 반환합니다.
width(), height() 및 Pixmap Information 를참조하세요 .
[noexcept]
void QPixmap::swap(QPixmap &other)
이 픽스맵을 other 로 바꿉니다. 이 작업은 매우 빠르며 실패하지 않습니다.
QImage QPixmap::toImage() const
픽셀맵을 QImage 로 변환합니다. 변환에 실패하면 null 이미지를 반환합니다.
픽셀맵의 깊이가 1비트인 경우 반환되는 이미지도 1비트 깊이가 됩니다. 비트가 더 많은 이미지는 기본 시스템에 가까운 형식으로 반환됩니다. 일반적으로 알파가 있는 픽셀맵의 경우 QImage::Format_ARGB32_Premultiplied, 알파가 없는 픽셀맵의 경우 QImage::Format_RGB32 또는 QImage::Format_RGB16 입니다.
현재로서는 흑백 이미지의 알파 마스크는 무시됩니다.
fromImage() 및 Image Formats 을참조하세요 .
QPixmap QPixmap::transformed(const QTransform &transform, Qt::TransformationMode mode = Qt::FastTransformation) const
주어진 변환 transform 과 변환 mode 을 사용하여 변환된 픽셀맵의 복사본을 반환합니다. 원본 픽셀맵은 변경되지 않습니다.
transform 변환은 원치 않는 변환을 보정하기 위해 내부적으로 조정됩니다. 즉, 생성된 픽셀맵은 원본 픽셀맵의 모든 변환된 점을 포함하는 가장 작은 픽셀맵입니다. trueMatrix () 함수를 사용하여 픽셀맵을 변환하는 데 사용된 실제 행렬을 검색합니다.
이 함수는 QImage 로 변환하고 다시 QPixmap 로 변환하는 사소한 계산을 포함하기 때문에 속도가 느립니다.
trueMatrix() 및 Pixmap Transformations 을참조하세요 .
[static]
QTransform QPixmap::trueMatrix(const QTransform &matrix, int width, int height)
주어진 width, height 및 matrix 로 픽셀맵을 변환하는 데 사용된 실제 행렬을 반환합니다.
transformed() 함수를 사용하여 픽셀맵을 변환할 때 원치 않는 변환을 보정하기 위해 내부적으로 변환 행렬을 조정합니다. 즉, transformed()은 원본 픽셀맵의 모든 변환된 점을 포함하는 가장 작은 픽셀맵을 반환합니다. 이 함수는 원래의 픽셀맵에서 새 픽셀맵으로 포인트를 올바르게 매핑하는 수정된 행렬을 반환합니다.
transformed() 및 Pixmap Transformations 을참조하세요 .
int QPixmap::width() const
픽셀맵의 너비를 반환합니다.
size() 및 Pixmap Information 를참조하세요 .
QVariant QPixmap::operator QVariant() const
픽셀맵을 QVariant 로 반환합니다.
bool QPixmap::operator!() const
널 픽셀맵이면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
isNull()도 참조하세요 .
[noexcept]
QPixmap &QPixmap::operator=(QPixmap &&other)
이동-이 other 인스턴스를 QPixmap 인스턴스에 할당합니다.
QPixmap &QPixmap::operator=(const QPixmap &pixmap)
주어진 pixmap 을 이 픽셀맵에 할당하고 이 픽셀맵에 대한 참조를 반환합니다.
관련 비회원
QDataStream &operator<<(QDataStream &stream, const QPixmap &pixmap)
주어진 pixmap 을 주어진 stream 에 PNG 이미지로 씁니다. 스트림을 파일에 쓰면 유효한 이미지 파일이 생성되지 않는다는 점에 유의하세요.
QPixmap::save() 및 Qt 데이터 유형 직렬화도참조하십시오 .
QDataStream &operator>>(QDataStream &stream, QPixmap &pixmap)
주어진 stream 에서 주어진 pixmap 으로 이미지를 읽습니다.
QPixmap::load() 및 Qt 데이터형 직렬화도참조하십시오 .
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.