한국어
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 87675
119 안드로이드 가상장치 사용 file makersweb 2019.01.13 1181
118 QMake 프로젝트를 CMake 프로젝트로 변환 with qmake2cmake makersweb 2022.09.17 1188
117 Qml에서 커튼효과 구현 예제 - Shader Effects file 운영자 2018.12.05 1212
116 QProcess 예제 (프로그램 재시작) file makersweb 2023.01.25 1233
115 Qt 6의 비동기 API makersweb 2020.10.19 1314
114 많은 리소스를 사용하는 Qt프로젝트에서 고려해봐야 할 qmake 옵션 makersweb 2019.10.11 1318
113 Qt 하이브리드 애플리케이션(Hybrid App) 개발 file makersweb 2023.02.08 1326
112 재진입(Reentrancy) 및 스레드 안전성(Thread-Safety) makersweb 2020.04.19 1351
111 Qt 스마트 포인터 (QSharedPointer, QScopedPointer, QPointer) makersweb 2022.08.18 1364
110 웹기반 Qt Design Viewer [2] file makersweb 2019.10.23 1397
109 tslib의 ts_calibrate를 응용해서 Qt로 터치보정기능 구현 file makersweb 2019.04.06 1462
108 qInstallMessageHandler를 이용한 디버그 메세지 출력 제어하기 makersweb 2019.02.25 1470
107 QThread 및 QMutex 예제 makersweb 2021.01.12 1478
106 Qbs에 대한 소개와 설치하는 방법 makersweb 2019.10.09 1486
105 싱글터치 스크린 및 임베디드 리눅스 기반에서 Qt 터치입력 makersweb 2018.12.24 1513
104 QML과 JavaScript 의 숫자 관련 내장된 함수 makersweb 2021.03.28 1558
103 Qt Quick 3D 소개 makersweb 2019.11.09 1581
102 QML에서 undefined를 확인하는 방법 makersweb 2017.11.29 1603
101 ApplicationWindow 와 메뉴바(MenuBar)구성 file makersweb 2020.01.04 1615
100 Widgets(C++) 기반의 기본 스타일을 Dark 테마 및 Material 디자인 스타일로 바꾸기 file makersweb 2023.01.28 1630