-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathimagemessage.cpp
37 lines (32 loc) · 1.02 KB
/
imagemessage.cpp
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
#include "imagemessage.h"
ImageMessage::ImageMessage()
{
// The type of the image is set here!
setType(MESSAGE_IMAGE);
}
QByteArray ImageMessage::serialize() {
QByteArray message = BaseMessage::serialize();
QDataStream dataStream(&message, QIODevice::Append);
dataStream << mImage;
// After updating the message, go back to the beginning and update the size
// mLength = (quint64)(message.length() - (quint64) sizeof(mLength));
// dataStream.device()->seek(0);
// dataStream << mLength;
return message;
}
void ImageMessage::deserialize(const QByteArray & message) {
QByteArray msg(message);
QDataStream dataStream(&msg, QIODevice::ReadOnly);
dataStream.skipRawData(sizeof(mType));
dataStream >> mImage;
}
void ImageMessage::setImage(const QImage &img) {
// Copy the image
mImage = QImage(img.size(), img.format());
mImage.fill(Qt::white);
QPainter painter(&mImage);
painter.drawImage(0,0,img);
}
const QImage &ImageMessage::getImage() const{
return mImage;
}