Jump to content

Category:Developing with Qt::Graphics Korean: Difference between revisions

From Qt Wiki
No edit summary
 
Redirect to actual page
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''한국어''' | [https://doc.qt.io/qt-5.1/qtdoc/topics-graphics.html 영어 원문] ''[qt.io]''
#Redirect [[Korean Graphics]]
 
=그래픽=
 
Qt 5에서의 그래픽은 주로 명령식 QPainter <span class="caps">API</span> 또는 Qt의 선언적 UI 언어인 Qt Quick과 이의 scene graph 뒷단을 통해서 이루어집니다. Qt 5의 그래픽 기능은 다양한 이미지 형식을 읽고 저장하는 것 뿐 아니라 인쇄하는 것 까지도 포함하고 있습니다.
 
=QPainter의 2D 그래픽=
 
[https://doc.qt.io/qt-5.1/qtgui/qpainter.html QPainter] ''[qt.io]''는 서로 다른 표면이나 [https://doc.qt.io/qt-5.1/qtgui/qpaintdevice.html QPaintDevice] ''[qt.io]'' 인스턴스들 (QImage, QOpenGLPaintDevice, QWidget, 그리고 QPrinter 와 같은) 위에 텍스트와 이미지, 그리고 벡터 그래픽을 그리기 위한 API를 제공합니다. 실제 그리는 작업은 QPaintDevice의 QPaintEngine에서 일어납니다. 소프트웨어 rasterizer 와 OpenGL (ES) 2.0 뒷단은 가장 중요한 두 가지 QPaintEngine 구현입니다. 이 Raster paint 엔진은 Qt의 소프트웨어 rasterizer이며, QImage 또는 QWidget 위에 그릴 때 사용됩니다. OpenGL paint engine 상에서 이 엔진의 강점은 antialiasing이 활성화 되었을 때의 높은 품질과, 완벽한 기능 집합입니다.
 
* [https://doc.qt.io/qt-5.1/qtgui/paintsystem.html Paint System] ''[qt.io]'' – QPainter 클래스와 아키텍쳐의 개요.
* [https://doc.qt.io/qt-5.1/qtgui/coordsys.html Coordinate System] ''[qt.io]'' – QPainter의 좌표 시스템이 어떻게 동작하는지에 대해 설명합니다.
* [https://doc.qt.io/qt-5.1/qtgui/paintsystem-drawing.html Drawing and Filling] ''[qt.io]'' – QPainter가 어떻게 벡터의 모양을 채우고 테두리를 그리는지에 대해 설명합니다.
 
QPainter에서 가장 중요한 렌더링 대상은 다음과 같습니다:
 
* [https://doc.qt.io/qt-5.1/qtgui/qimage.html QImage] ''[qt.io]'' – 픽셀에 직접 접근하는 하드웨어 독립적 이미지 표현. QPainter는 QImage 인스턴스를 그리기 위해 소프트웨어 rasterizer 를 사용할 것입니다.
* [https://doc.qt.io/qt-5.1/qtgui/qpixmap.html QPixmap] ''[qt.io]'' – 화면 표시에 적합한 이미지 표현. QPainter는 QPixmap 인스턴스를 그리기 위해 소프트웨어 rasterizer를 우선적으로 사용할 것입니다..
* [https://doc.qt.io/qt-5.1/qtgui/qopenglpaintdevice.html QOpenGLPaintDevice] ''[qt.io]'' – 현 OpenGL (ES) 2.0 컨텐츠로 렌더링하는 페인트 장치. QPainter는 QOpenGLPaintDevice 인스턴스를 그리기 위해 하드웨어 가속 OpenGL 호출을 사용합니다.
* [https://doc.qt.io/qt-5.1/qtgui/qbackingstore.html QBackingStore] ''[qt.io]'' – 최상위 윈도우에 대한 백 버퍼. QPainter는 QBackingStore 인스턴스를 그리기 위해 소프트웨어 rasterizer를 우선적으로 사용합니다.
* [https://doc.qt.io/qt-5.1/qtwidgets/qwidget.html QWidget] ''[qt.io]'' – pre-Qt Quick 사용자 인터페이스 클래스를 위한 기본클래스. QPainter는 QBackingStore를 이용하여 위젯을 렌더링 할 것입니다.
 
QPainter 와 관련 classes 들은 Qt <span class="caps">GUI</span> 모듈의 일부로, [https://doc.qt.io/qt-5.1/qtgui/qtgui-index.html Qt <span class="caps">GUI</span>] ''[qt.io]'' 페이지에 더 자세한 내용이 설명되어 있습니다.
 
=OpenGL 과 3D=
 
OpenGL은 하드웨어 가속과 3D 그래픽에 가장 널리 적용되는 그래픽 API으로, 모든 데스크탑 플랫폼과 거의 모든 모바일과 임베디드 플랫폼에 구현되어 있습니다. Qt 라이브러리는 사용자가 응용프로그램에 OpenGL을 통합하는 걸 도와주는 많은 클래스들을 포함하고 있습니다.
 
* [https://doc.qt.io/qt-5.1/qtgui/qtgui-index.html OpenGL in QtGui] ''[qt.io]'' – OpenGL이 Qt <span class="caps">GUI</span> 모듈과 통합하는 방법에 대한 개요.
* [https://doc.qt.io/qt-5.1/qtquick/qtquick-visualcanvas-scenegraph.html#mixing-scene-graph-and-opengl OpenGL and Qt Quick 2.0] ''[qt.io]'' – OpenGL을 Qt Quick 2.0 scene graph로 통합하는 방법.
* [http://www.khronos.org/opengl www.khronos.org/opengl] ''[khronos.org]'' – 공식 OpenGL 페이지.
 
Qt 5.0 이전에, Qt에서의 OpenGL 지원은 [https://doc.qt.io/qt-5.1/qtdoc/addons.html#qt-opengl-module Qt OpenGL] ''[qt.io]'' 모듈을 통해 처리되었습니다. 이 모듈은 아직 남아있지만, 새 코드는 Qt <span class="caps">GUI</span> 모듈의 새로운 클래스를 사용하도록 해야 합니다.
 
=Qt Quick scene 그래프=
 
Qt Quick 2.0에선 렌더링을 위한 OpenGL (ES) 2.0 scene graph를 소개합니다. 이는 Qt Quick 2.0의 성능을 대체적으로 향상시켰으며, 이전 버전에 사용되었던 QGraphicsView/QPainter-기반 접근 방식과 비교하면 눈에 띄게 차이가 납니다.<br /> 이 scene graph는 item scene을 그래픽으로 표현한 것입니다. 그래픽 레벨의 deep copy로 생각할 수 있으며, 모든 해당 항목을 렌터링하기 위한 충분한 정보를 포함하는 독립된 구조체입니다. 한 번 설정되면, 항목의 상태와 별개로 조작되고 렌더링 될 수 있습니다. 많은 플랫폼에서, scene graph는 <span class="caps">GUI</span> 스레드가 다음 프레임의 상태를 준비하는 동안, 전용 렌더링 스레드에서 렌더링 되기도 합니다.<br /> Scene graph는 여러분의 <span class="caps">QML</span> 파일에 QtQuick 2.0 을 import 할 때 사용되며, 실행을 위해 QQuickView 를 사용합니다.
 
* [https://doc.qt.io/qt-5.1/qtquick/qtquick-visualcanvas-scenegraph.html Qt Quick Scene Graph] ''[qt.io]'' – Qt Quick Scene Graph 아키텍쳐의 개요.
* [https://doc.qt.io/qt-5.1/qtquick/qtquick-visualcanvas-scenegraph.html#scene-graph-and-rendering Scene Graph and Rendering] ''[qt.io]'' – 각 프레임의 렌더링 Breakdown.
 
Qt Quick은, Qt Quick scene graph가 렌더링되기 전후로 각각 발생되는 QQuickWindow::beforeRendering() 이나 QQuickWindow::afterRendering() 신호에 연결함으로써, raw OpenGL 렌더링과 혼합될 수 있습니다. 이 신호들은 렌더링 스레드(가능한 경우)에서 발생되며, 이 연결들의 방향을 지정해야 합니다.
 
=인쇄=
 
Qt는 로컬 또는 네트워크의 실제 프린터에 직접 인쇄하는 것과 <span class="caps">PDF</span> 출력물 생성하는 것 둘 다 지원합니다. Qt로 프린트하는 방법은 [https://doc.qt.io/qt-5.1/qtprintsupport/qtprintsupport-index.html Qt Print Support] ''[qt.io]'' 페이지에 상세히 설명되어 있습니다.<br /> 여러분의 응용프로그램이나 라이브러리에서 Qt 인쇄 클래스에 대한 접근을 가능하게 하려면, [https://doc.qt.io/qt-5.1/qtprintsupport/qtprintsupport-index.html Qt Print Support] ''[qt.io]'' 모듈 페이지를 참고하십시오.
 
=이미지=
 
Qt는 [https://doc.qt.io/qt-5.1/qtgui/qimage.html QImage] ''[qt.io]'' 클래스를 통해서 이미지의 읽기, 쓰기, 조작의 편의를 지원합니다. 또한, 이미지를 불러오고 저장하는 방법을 세밀하게 조정하려면, QImageReader 와 QImageWriter 클래스를 각각 사용할 수 있습니다. Qt에서 지원하지 않는, 더 많은 이미지 형식에 대한 지원을 추가하려면, QImageIOHandler 과 QImageIOPlugin을 사용하여 이미지 형식 플러그인을 생성할 수 있습니다.<br /> 더 많은 정보는, [https://doc.qt.io/qt-5.1/qtgui/paintsystem-images.html Reading and Writing Image Files] ''[qt.io]'' 페이지를 참고하십시오.
 
===Categories:===
 
* [[:Category:Developing with Qt|Developing_with_Qt]]
* [[:Category:General|General]]

Latest revision as of 12:55, 22 November 2016

Redirect to:

This category currently contains no pages or media.