File indexing completed on 2024-03-24 16:02:10

0001 /*
0002     A command line tool to load metadata from byte array
0003 
0004     SPDX-FileCopyrightText: 2009-2012 Gilles Caulier <caulier dot gilles at gmail dot com>
0005 
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 
0009 // Qt includes
0010 
0011 #include <QDataStream>
0012 #include <QImage>
0013 #include <QString>
0014 #include <QFile>
0015 #include <QByteArray>
0016 #include <QDebug>
0017 
0018 // Local includes
0019 
0020 #include "kexiv2.h"
0021 
0022 using namespace KExiv2Iface;
0023 
0024 int main (int argc, char **argv)
0025 {
0026     if(argc != 2)
0027     {
0028         qDebug() << "loadfromba - test to load metadata from image as byte array";
0029         qDebug() << "Usage: <image>";
0030         return -1;
0031     }
0032 
0033     QString filePath = QString::fromLocal8Bit(argv[1]);
0034     QString baFile(QStringLiteral("ba.dat"));
0035 
0036     QImage image(filePath);
0037     image.save(baFile, "PNG");
0038 
0039     QFile file(baFile);
0040     if ( !file.open(QIODevice::ReadOnly) )
0041         return false;
0042 
0043     QByteArray data;
0044     data.resize(file.size());
0045     QDataStream stream( &file );
0046     stream.readRawData(data.data(), data.size());
0047     file.close();
0048 
0049     KExiv2 meta;
0050     meta.loadFromData(data);
0051 
0052     return 0;
0053 }