Code: Alles auswählen
class QExifImageHeader
{
Q_DISABLE_COPY(QExifImageHeader)
public:
QExifImageHeader();
explicit QExifImageHeader(const QString &fileName);
explicit QExifImageHeader(QByteArray *exifData);
~QExifImageHeader();
bool loadFromData(QByteArray *exifData);
....
}
Code: Alles auswählen
QExifImageHeader::QExifImageHeader()
: d( new QExifImageHeaderPrivate )
{
d->byteOrder = QSysInfo::ByteOrder;
d->size = -1;
}
/*!
Constructs a new EXIF image data editor and reads the meta-data from a JPEG image with the given \a fileName.
*/
QExifImageHeader::QExifImageHeader(const QString &fileName)
: d(new QExifImageHeaderPrivate)
{
d->byteOrder = QSysInfo::ByteOrder;
d->size = -1;
loadFromJpeg(fileName);
}
/*!
Constructs a new EXIF image data editor and reads the exif meta-data from a QByteArray.
*/
QExifImageHeader::QExifImageHeader(QByteArray *exifData){
d->byteOrder = QSysInfo::ByteOrder;
d->size = -1;
loadFromData(exifData);
}
/*!
Destroys an EXIF image data editor.
*/
QExifImageHeader::~QExifImageHeader()
{
clear();
delete d;
}
/*!
Reads meta-data from a EXIF or META section of an JPEG image.
Returns true if the data was successfully parsed and false otherwise.
*/
bool QExifImageHeader::loadFromData(QByteArray *exifData) {
QBuffer buffer(exifData);
readOk = buffer.open(QIODevice::ReadOnly) && read(&buffer);
return readOk;
}
Den versuche ich etwas zu erweitern durch einen neuen Konstruktor und eine dazu passende Funktion.
Code: Alles auswählen
explicit QExifImageHeader(QByteArray *exifData);
bool loadFromData(QByteArray *exifData);
Code: Alles auswählen
QByteArray data = "a.dfjkjbjknjgnbjnb"; // inhalt beliebig
QExifImageHeader *exifHeader = new QExifImageHeader(&data);
Code: Alles auswählen
QByteArray data = "gksgbkjjbkjnkajnbvk" // inhalt beliebig
QExifImageHeader exifHeader = new QExifImageHeader();
exifHeader->loadFromData(&data)
Gruß Sig