이 페이지에서

QPicture Class

QPicture 클래스는 ‘ QPainter ’ 명령을 기록하고 재생하는 그리기 장치입니다. 더 보기...

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

공개 함수

QPicture(int formatVersion = -1)
QPicture(const QPicture &pic)
virtual ~QPicture()
QRect boundingRect() const
const char *data() const
bool isNull() const
bool load(const QString &fileName)
bool load(QIODevice *dev)
bool play(QPainter *painter)
bool save(const QString &fileName)
bool save(QIODevice *dev)
void setBoundingRect(const QRect &r)
virtual void setData(const char *data, uint size)
uint size() const
void swap(QPicture &other)
QPicture &operator=(QPicture &&other)
QPicture &operator=(const QPicture &p)
QDataStream &operator<<(QDataStream &s, const QPicture &r)
QDataStream &operator>>(QDataStream &s, QPicture &r)

상세 설명

Picture는 페인터 명령을 플랫폼에 독립적인 형식으로 IO 장치에 직렬화합니다. 때때로 메타 파일이라고도 합니다.

Qt 그림은 독점적인 이진 형식을 사용합니다. 많은 윈도우 시스템의 기본 그림(메타파일) 형식과 달리, Qt 그림은 내용에 대한 제한이 없습니다. 위젯이나 픽스맵에 그릴 수 있는 모든 것(예: 글꼴, 픽스맵, 영역, 변형된 그래픽 등)은 그림에도 저장할 수 있습니다.

QPicture는 해상도에 독립적입니다. 즉, QPicture는 다양한 장치(예: SVG, PDF, PS, 프린터, 화면)에서 동일한 모양으로 표시될 수 있습니다. 이는 예를 들어 WYSIWYG 인쇄 미리보기에 필요합니다. QPicture는 시스템의 기본 DPI로 실행되며, 윈도우 시스템에 따라 해상도 차이를 반영하여 그리기 영역을 조정합니다.

그림을 기록하는 방법의 예:

QPicture picture;
QPainter painter;
painter.begin(&picture);           // paint in picture
painter.drawEllipse(10,20, 80,70); // draw an ellipse
painter.end();                     // painting done
picture.save("drawing.pic");       // save picture

QPainter::begin() 함수를 호출할 때마다 페인터 명령어 목록이 초기화된다는 점에 유의하십시오.

그림을 재생하는 예시:

QPicture picture;
picture.load("drawing.pic");           // load picture
QPainter painter;
painter.begin(&myImage);               // paint in myImage
painter.drawPicture(0, 0, picture);    // draw the picture at (0,0)
painter.end();                         // painting done

play()를 사용하여 그림을 그릴 수도 있습니다. 그림에 대한 몇 가지 기본 데이터를 확인할 수 있으며, 예를 들어 size(), isNull() 및 boundingRect() 함수가 있습니다.

참고: QPicture는 직렬화를 위해 QDataStream 를 사용합니다. 신뢰할 수 없는 데이터 읽기에 대한 same reservations 가 적용됩니다.

QMovie도 참조하십시오 .

멤버 함수 문서

[explicit] QPicture::QPicture(int formatVersion = -1)

빈 그림을 생성합니다.

formatVersion 매개변수를 사용하면 이전 버전의 Qt로 컴파일된 애플리케이션에서도 읽을 수 있는 QPicture를 생성할 수 있습니다.

기본 formatVersion은 -1이며, 이는 현재 릴리스를 의미합니다. 즉, Qt 4.0의 경우 formatVersion 7은 기본 formatVersion인 -1과 동일합니다.

Qt 4.0에서는 이전 버전의 Qt로 생성된 그림을 읽는 기능이 지원되지 않습니다.

QPicture::QPicture(const QPicture &pic)

pic 의 복사본을 생성합니다.

이 생성자는 암시적 공유 덕분에 빠르게 실행됩니다.

[virtual noexcept] QPicture::~QPicture()

그림을 망쳐버린다.

QRect QPicture::boundingRect() const

그림의 경계 사각형을 반환하며, 그림에 데이터가 포함되어 있지 않은 경우 유효하지 않은 사각형을 반환합니다.

setBoundingRect()도 참조하십시오 .

const char *QPicture::data() const

그림 데이터에 대한 포인터를 반환합니다. 이 포인터는 해당 그림에 대해 다음 비const 함수가 호출될 때까지만 유효합니다. 그림에 데이터가 포함되어 있지 않으면 반환되는 포인터는 0입니다.

setData(), size(), isNull()도 참조하십시오 .

bool QPicture::isNull() const

사진에 데이터가 포함되어 있지 않으면 ` true `를 반환하고, 그렇지 않으면 `false`를 반환합니다.

bool QPicture::load(const QString &fileName)

fileName 로 지정된 파일에서 이미지를 불러오고, 성공하면 true를 반환합니다. 그렇지 않으면 이미지를 무효화하고 false 를 반환합니다.

save()도 참조하십시오 .

bool QPicture::load(QIODevice *dev)

dev 이 장치를 로딩에 사용해야 합니다.

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

bool QPicture::play(QPainter *painter)

painter 를 사용하여 그림을 다시 재생하고, 성공하면 true 를 반환하며, 그렇지 않으면 false 를 반환합니다.

이 함수는 (x, y) = (0, 0)인 상태에서 QPainter::drawPicture()과 정확히 동일한 동작을 수행합니다.

참고: 이 함수는 페인터의상태를 보존하지 않습니다.

bool QPicture::save(const QString &fileName)

fileName 로 지정된 파일에 이미지를 저장하고, 성공하면 true를 반환하며, 그렇지 않으면 false 를 반환합니다.

load()도 참조하십시오 .

bool QPicture::save(QIODevice *dev)

dev 저장할 때 사용할 장치입니다.

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

void QPicture::setBoundingRect(const QRect &r)

그림의 경계 사각형을 r 로 설정합니다. 자동으로 계산된 값은 무시됩니다.

boundingRect()도 참조하십시오 .

[virtual] void QPicture::setData(const char *data, uint size)

data 및 size 에서 직접 이미지 데이터를 설정합니다. 이 함수는 입력 데이터를 복사합니다.

data() 및 size()도 참조하십시오 .

uint QPicture::size() const

그림 데이터의 크기를 반환합니다.

data()도 참조하십시오 .

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

이 사진을 other 로 교체합니다. 이 작업은 매우 빠르며 절대 실패하지 않습니다.

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

other 를 이 QPicture 인스턴스에 할당합니다.

QPicture &QPicture::operator=(const QPicture &p)

이 사진에 ‘ p ’ 사진을 할당하고, 이 사진에 대한 참조를 반환합니다.

관련된 비회원

QDataStream &operator<<(QDataStream &s, const QPicture &r)

r 이미지를 s 스트림에 기록하고, 해당 스트림에 대한 참조를 반환합니다.

QDataStream &operator>>(QDataStream &s, QPicture &r)

s 스트림에서 그림을 읽어 r 그림에 저장하고, 스트림에 대한 참조를 반환합니다.

© 2026 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.