이미지 파일 읽기 및 쓰기
이미지를 읽는 가장 일반적인 방법은 QImage 및 QPixmap 의 생성자를 사용하거나 QImage::load() 및 QPixmap::load() 함수를 호출하는 것입니다. 또한 Qt는 프로세스를 좀 더 제어할 수 있는 QImageReader 클래스를 제공합니다. 이미지 형식의 기본 지원에 따라 클래스가 제공하는 함수는 메모리를 절약하고 이미지 로딩 속도를 높일 수 있습니다.
마찬가지로 Qt는 이미지를 저장하기 전에 감마 레벨, 압축 레벨 및 품질과 같은 포맷별 옵션 설정을 지원하는 QImageWriter 클래스를 제공합니다. 이러한 옵션이 필요하지 않은 경우 QImage::save() 또는 QPixmap::save()을 대신 사용할 수 있습니다.
QMovie QMovie 는 내부적으로 QImageReader 클래스를 사용하여 애니메이션을 표시하기 위한 편의 클래스입니다. 일단 생성되면 QMovie 클래스는 주어진 애니메이션을 실행하고 제어하기 위한 다양한 기능을 제공합니다. |
QImageReader 와 QImageWriter 클래스는 Qt의 모든 이미지 포맷에 대한 공통 이미지 입출력 인터페이스인 QImageIOHandler 클래스에 의존합니다. QImageIOHandler 객체는 내부적으로 QImageReader 와 QImageWriter 에서 다양한 이미지 포맷에 대한 지원을 추가하기 위해 사용됩니다.
지원되는 파일 형식의 목록은 QImageReader::supportedImageFormats() 및 QImageWriter::supportedImageFormats() 함수를 통해 확인할 수 있습니다. Qt는 기본적으로 여러 파일 형식을 지원하며, 플러그인으로 새로운 형식을 추가할 수도 있습니다. 현재 지원되는 형식은 QImageReader 및 QImageWriter 클래스 문서에 나와 있습니다.
Qt의 플러그인 메커니즘은 사용자 정의 이미지 포맷 핸들러를 작성하는 데에도 사용할 수 있습니다. 이는 QImageIOHandler 클래스에서 파생하고 QImageIOHandler 객체를 생성하기 위한 팩토리인 QImageIOPlugin 객체를 생성하여 수행됩니다. 플러그인이 설치되면 QImageReader 및 QImageWriter 에서 자동으로 플러그인을 로드하고 사용을 시작합니다.
© 2025 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.