-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathenresource.cpp
More file actions
80 lines (65 loc) · 1.64 KB
/
enresource.cpp
File metadata and controls
80 lines (65 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include "enresource.h"
#include <QDebug>
EnResource::EnResource(){
}
EnResource::EnResource(const QString& type, const QString& data, int width, int height){
setType(type);
setData(data);
setWidth(width);
setHeight(height);
}
void EnResource::setType(const QString& type){
mType = type;
isImage = mType.startsWith("image", Qt::CaseInsensitive);
}
void EnResource::setData(const QString& data){
mData = QByteArray::fromBase64(QByteArray().append(data));
mHash = QCryptographicHash::hash(QByteArray().append(mData), QCryptographicHash::Md5).toHex();
}
void EnResource::setHash(const QString& hash){
mHash = hash;
}
void EnResource::setWidth(int width){
mWidth = width;
}
void EnResource::setHeight(int height){
mHeight = height;
}
QString EnResource::getType() const{
return mType;
}
QByteArray EnResource::getData() const{
return mData;
}
QString EnResource::getHash() const{
return mHash;
}
int EnResource::getWidth() const{
return mWidth;
}
int EnResource::getHeight() const{
return mHeight;
}
QString EnResource::getImageType() const{
if(isImage){
return mType.mid(6);
}
return QString();
}
void EnResource::saveImage() const{
if(isImage){
QString filename = "c:/TEMP/zothReader/img/" + mHash + "." + getImageType();
QFile file(filename);
if(file.exists()){
qDebug() << "hashed";
return;
}else{
QImage img;
img.loadFromData(mData);
if(img.save(filename))
qDebug() << "image saved";
else
qDebug() << "error: " + filename;
}
}
}