임의 메로리 영역(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(); }
위 예제 소스코드는 아래 그림의 결과물을 만들어 낸다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 | 운영자 | 2019.01.05 | 85363 |
16 | QPA 플러그인과 HTML5 Backend | makersweb | 2017.12.27 | 800 |
» | 임의의 메모리 영역(QImage)에 QPainter를 이용하여 그리기 | makersweb | 2017.12.19 | 3405 |
14 | QML에서 undefined를 확인하는 방법 | makersweb | 2017.11.29 | 1459 |
13 | QPA 플러그인과 EGLFS | makersweb | 2017.11.21 | 3899 |
12 | 타임스탬프( timestamp) 유닉스 시간 | makersweb | 2017.10.19 | 1612 |
11 | Qt Logging Rule, Qt 프레임워크 로그 출력 | makersweb | 2017.01.13 | 3672 |
10 | QString 문자열에서 숫자만 추출해서 QString으로 반환 | makersweb | 2017.01.10 | 3057 |
9 | 멀티 스레드환경, 스레드에 안전한 이벤트처리 | makersweb | 2016.10.27 | 4933 |
8 | Ubuntu Linux에서 Qt Creator 설치 | makersweb | 2016.03.06 | 10647 |
7 | QtConcurrent를 이용하여 쓰레드를 만드는 방법과 MapReduce | makersweb | 2016.01.24 | 9408 |
6 | Qt 프로그래밍의 시작 | makersweb | 2015.10.25 | 14326 |
5 | Qt의 스레드간 시그널 슬롯의 커넥션타입 [1] | makersweb | 2015.10.24 | 10106 |
4 | Qt의 시그널 슬롯 시스템 | makersweb | 2015.10.20 | 23435 |
3 | QQuickImageProvider 를 이용한 Qml 에서 이미지 표시 | makersweb | 2015.10.18 | 5975 |
2 | Qml 사용자 ScrollBar 구현 | makersweb | 2015.07.24 | 6210 |
1 | z-order 를 컨트롤 하기위한 방법 | makersweb | 2015.05.13 | 6574 |