QImageWriter 创建图片

最后更新于:2022-04-02 02:13:30

[TOC] ## 概述 ## 示例 ### 设置写入格式 ``` QImageWriter writer; writer.setFormat("png"); // 同writer.setFormat("PNG"); ``` ### 写入信息 ``` QImageWriter writer(fileName); if (writer.supportsOption(QImageIOHandler::Description)) writer.setText("Author", "Mr Wang"); ``` 不同的图像格式支持不同的选项。调用此函数,可以确定当前格式是否支持一个特定的选项 ### 显示支持的类型和 MIME ``` QList imageFormats = QImageWriter::supportedImageFormats(); QList mimeTypes = QImageWriter::supportedMimeTypes(); ``` ``` // imageFormats : ("bmp", "cur", "dds", "icns", "ico", "jp2", "jpeg", "jpg", "pbm", "pgm", "png", "ppm", "tif", "tiff", "wbmp", "webp", "xbm", "xpm") // mimeTypes : ("", "image/bmp", "image/jp2", "image/jpeg", "image/png", "image/tiff", "image/vnd.microsoft.icon", "image/vnd.wap.wbmp", "image/webp", "image/x-dds", "image/x-icns", "image/x-portable-bitmap", "image/x-portable-graymap", "image/x-portable-pixmap", "image/x-xbitmap", "image/x-xpixmap") ``` ### 写入图片 ``` // 源图像 QImage image(":/Images/logo"); // 目标图像 QImageWriter writer("AuthorLogo.jpeg", "jpeg"); if (writer.supportsOption(QImageIOHandler::Description)) { // 设置描述信息 writer.setText("Author", "Mr Wang"); writer.setText("Description", "Qter"); } // 压缩质量 writer.setQuality(100); if (writer.canWrite()) { // 写入图片至文件AuthorLogo.jpeg writer.write(image); } else { // 获取错误信息 QImageWriter::ImageWriterError error = writer.error(); QString strError = writer.errorString(); qDebug() << "Last Error : " << strError; } ```
';