한국어
Qt
 

임의 메로리 영역(QImage)에 QPainter를 이용하여 그리고 파일로 저장하는 방법을 보여준다.

#include <QApplication>
#include <QImage>
#include <QPainter>

#define WIDTH (1024)
#define HEIGHT (768)

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);


    unsigned char *buffer = nullptr;
    QImage *canvas = nullptr;

    buffer = new unsigned char[WIDTH * HEIGHT * 4];
    canvas = new QImage(buffer, WIDTH, HEIGHT, QImage::Format_ARGB32_Premultiplied);
    canvas->fill(0xffffffff);

    QRectF rectangle(0, 0, 1024, 768);
    int startAngle = 30 * 16;
    int spanAngle = 120 * 16;

    QPainter painter(canvas);
    painter.drawPie(rectangle, startAngle, spanAngle);

    canvas->save("test.png", "PNG");

    delete [] buffer;
    painter.end();
    delete canvas;

    return a.exec();
}

 

위 예제 소스코드는 아래 그림의 결과물을 만들어 낸다.

 

 

test.png

 

번호 제목 글쓴이 날짜 조회 수
공지 Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 운영자 2019.01.05 86180
79 C++로 구현된 모델을 QML의 ListView에서 참조 file makersweb 2019.09.07 4939
78 QSocketNotifier로 파일 디스크립터의 활동감지 makersweb 2019.08.28 1736
77 MCU용 Qt에 대해서 makersweb 2019.08.22 1923
76 [Qt News] Qt for Python을 위한 기술 비전 j2doll 2019.08.20 1626
75 열거형(enum)을 QML에서 사용하는 방법과 문자열(QString)로 얻기 makersweb 2019.08.20 3900
74 [Qt News] Qt 6 기술 비전 (Technical vision for Qt 6) [2] j2doll 2019.08.08 2123
73 [Qt News] Qt6 Git 개발 초기 단계 시작하기 j2doll 2019.08.02 2337
72 [Qt] Google Play의 향후 요구 사항을 준수하는 방법 [2] j2doll 2019.07.29 978
71 Qt기반의 오픈소스 프로젝트들 - 2 운영자 2019.07.21 4023
70 QML, 이미지, 폰트등을 바이너리 리소스로 만들기 makersweb 2019.06.24 3525
69 Qt Creator에서 임베디드 장치로 deploy설정(Custom Process Step) file makersweb 2019.06.15 2206
68 Qt Quick Controls 2사용 및 스타일 설정 file makersweb 2019.06.07 6281
67 QML 강좌 - 동적 Listing (ListView) file makersweb 2019.06.01 10123
66 QtInstallerFramework로 온라인 설치프로그램(Online Installer)만드는 방법 [4] file makersweb 2019.05.28 6275
65 QtCreator Design으로 GUI만들기 (QML로 만드는 Hello World -2) [1] file makersweb 2019.05.26 14979
64 QML에서 멀티 스레드(multithreading) 프로그래밍 file makersweb 2019.05.25 2673
63 QtSerialPort를 사용한 시리얼(Serial)통신 [3] makersweb 2019.05.21 11975
62 Qt기반의 오픈소스 프로젝트들 makersweb 2019.05.15 5462
61 Q_D매크로와 d-pointer file makersweb 2019.05.07 762
60 가상키보드(Qt Virtual Keyboard)를 사용하는 방법 [32] file makersweb 2019.05.03 221876