QImageIOPlugin Class
QImageIOPlugin 클래스는 이미지 형식 플러그인 작성을 위한 인터페이스를 정의합니다. 더 보기...
헤더: | #include <QImageIOPlugin> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
상속합니다: | QObject |
- 상속된 멤버를 포함한 모든 멤버 목록
- QImageIOPlugin은 플러그인 클래스의 일부입니다.
참고: 이 클래스의 모든 함수는 재진입합니다.
공용 유형
flags | Capabilities |
enum | Capability { CanRead, CanWrite, CanReadIncremental } |
공용 함수
QImageIOPlugin(QObject *parent = nullptr) | |
virtual | ~QImageIOPlugin() |
virtual QImageIOPlugin::Capabilities | capabilities(QIODevice *device, const QByteArray &format) const = 0 |
virtual QImageIOHandler * | create(QIODevice *device, const QByteArray &format = QByteArray()) const = 0 |
상세 설명
QImageIOPlugin은 QImageReader 과 QImageWriter 에서 내부적으로 다양한 이미지 포맷에 대한 지원을 추가하기 위해 사용되는 QImageIOHandler 객체를 만들기 위한 팩토리입니다.
이 베이스 클래스를 서브 클래싱하고 순수 가상 함수 capabilities() 및 create()를 다시 구현한 다음 Q_PLUGIN_METADATA() 매크로를 사용하여 클래스를 내보내면 이미지 I/O 플러그인을 작성할 수 있습니다. 자세한 내용은 Qt 플러그인 생성 방법을 참조하십시오.
이미지 포맷 플러그인은 읽기(CanRead), 쓰기(CanWrite) 및 증분 읽기(CanReadIncremental)의 세 가지 기능을 지원할 수 있습니다. 이미지 포맷의 기능을 노출하려면 서브클래스에서 capabilities()를 다시 구현하세요.
create()는 제공된 장치와 형식이 올바르게 설정된 QImageIOHandler 서브클래스의 인스턴스를 생성하고 이 핸들러를 반환해야 합니다.
플러그인의 json 메타데이터 파일에는 플러그인이 지원하는 이미지 형식에 대한 정보와 해당 MIME 유형(각 형식마다 하나씩)이 포함되어야 합니다. 예를 들어 jpeg 플러그인의 경우 다음과 같이 보일 수 있습니다:
{ "Keys": [ "jpg", "jpeg" ], "MimeTypes": [ "image/jpeg", "image/jpeg" ] }
플러그인마다 서로 다른 기능을 지원할 수 있습니다. 예를 들어, GIF 형식 읽기를 지원하는 플러그인과 쓰기를 지원하는 플러그인이 있을 수 있습니다. Qt는 capabilities()의 반환 값에 따라 작업에 적합한 플러그인을 선택합니다. 여러 플러그인이 동일한 기능을 지원하는 경우, Qt는 임의로 하나를 선택합니다.
QImageIOHandler 및 Qt 플러그인 생성 방법도참조하십시오 .
멤버 유형 문서
열거형 QImageIOPlugin::Capability
플래그 QImageIOPlugin::Capabilities
이 열거형은 QImageIOPlugin 의 기능을 설명합니다.
Constant | 값 | 설명 |
---|---|---|
QImageIOPlugin::CanRead | 0x1 | 플러그인은 이미지를 읽을 수 있습니다. |
QImageIOPlugin::CanWrite | 0x2 | 플러그인은 이미지를 쓸 수 있습니다. |
QImageIOPlugin::CanReadIncremental | 0x4 | 플러그인은 이미지를 점진적으로 읽을 수 있습니다. |
Capabilities 유형은 QFlags<Capability>에 대한 타입 정의입니다. Capability 값의 OR 조합을 저장합니다.
멤버 함수 문서
[explicit]
QImageIOPlugin::QImageIOPlugin(QObject *parent = nullptr)
주어진 parent 으로 이미지 플러그인을 생성합니다. 이는 플러그인을 내보내는 moc 생성 코드에 의해 자동으로 호출됩니다.
[virtual noexcept]
QImageIOPlugin::~QImageIOPlugin()
사진 형식 플러그인을 삭제합니다.
이 함수를 명시적으로 호출할 필요는 없습니다. 플러그인이 더 이상 사용되지 않으면 Qt는 자동으로 삭제합니다.
[pure virtual]
QImageIOPlugin::Capabilities QImageIOPlugin::capabilities(QIODevice *device, const QByteArray &format) const
device 의 데이터와 format 형식에 따라 플러그인의 기능을 반환합니다. device 이 0
인 경우 단순히 해당 형식을 읽을 수 있는지 또는 쓸 수 있는지를 보고해야 합니다. 그렇지 않으면 지정된 형식( format 이 비어 있는 경우 플러그인에서 지원하는 형식)을 device 에서 읽거나 쓸 수 있는지 여부를 확인해야 합니다. device 의 상태를 변경하지 않고(일반적으로 QIODevice::peek() 를 사용하여) 이 작업을 수행해야 합니다.
QImageIOPlugin 예를 들어 format 이 비어 있거나 "bmp"
이고 장치의 데이터가 "BM"
문자로 시작하는 경우 이 함수는 CanRead 를 반환해야 합니다. format 가 "bmp"
, device 가 0
이고 핸들러가 읽기와 쓰기를 모두 지원하는 경우 이 함수는 CanRead | CanWrite 를 반환해야 합니다.
형식 이름은 항상 소문자로 지정됩니다.
[pure virtual]
QImageIOHandler *QImageIOPlugin::create(QIODevice *device, const QByteArray &format = QByteArray()) const
device 및 format 가 설정된 QImageIOHandler 서브클래스를 생성하고 반환합니다. format 은 플러그인 메타데이터의 "Keys"
항목에 나열된 값에서 가져오거나 비어 있어야 합니다. 비어 있는 경우 capabilities() 메서드에서 device 의 데이터를 인식했어야 합니다(마찬가지로 비어 있는 형식).
형식 이름은 항상 소문자로 표기합니다.
© 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.