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 }