1

在我的 Qt 应用程序中,我想读取图像的 exif 数据。QImage或者QPixmap似乎没有提供这样的钩子。

Qt 中是否有任何 API 允许在不使用外部库的情况下读取 exif libexif

编辑:这是这个的副本

4

3 回答 3

1

从 qt 扩展框架中尝试QExifImageHeader 。qtextended.org 对我不可用?但您可以搜索其他下载镜像。

于 2013-02-28T08:34:02.823 回答
1

QImageReader 有一个名为 transformation() 的方法,它是在 5.5 版本中引入的,首先你应该尝试一下。

您还可以查看以下链接,了解如何在 Qt 中使用 Windows GDI,http://amin-ahmadi.com/2015/12/17/how-to-read-image-orientation-in-qt-using-存储的exif /

于 2015-12-17T11:25:55.663 回答
1

对我来说,最好的选择是Mayank Lahiri 的 easyexif。您只需要将两个文件 exif.cpp 和 exif.h 添加到您的项目中。

int main(int argc, char *argv[])
{
    for (int i=1; i<argc; ++i){
        QFile file(argv[i]);
        if (file.open(QIODevice::ReadOnly)){
            QByteArray data = file.readAll();
            easyexif::EXIFInfo info;
            if (int code = info.parseFrom((unsigned char *)data.data(), data.size())){
                qDebug() << "Error parsing EXIF: code " << code;
                continue;
            }
            qDebug() << "Camera model         : " << info.Model.c_str();
            qDebug() << "Original date/time   : " << info.DateTimeOriginal.c_str();
        } else
            qDebug() << "Can't open file:" << argv[i];           
    }

    return 0;
}
于 2017-10-11T12:12:25.837 回答