use thumbnails for now...
This commit is contained in:
parent
914c270e87
commit
0a2d50fec4
|
@ -2,6 +2,10 @@
|
||||||
|
|
||||||
#include "sai.hpp"
|
#include "sai.hpp"
|
||||||
|
|
||||||
|
#include <QFile>
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QImage>
|
||||||
|
|
||||||
SAIHandler::SAIHandler()
|
SAIHandler::SAIHandler()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -18,8 +22,31 @@ bool SAIHandler::canRead() const
|
||||||
|
|
||||||
bool SAIHandler::read(QImage *image)
|
bool SAIHandler::read(QImage *image)
|
||||||
{
|
{
|
||||||
Q_UNUSED(image)
|
QFile * file = qobject_cast<QFile*>(device());
|
||||||
return false;
|
if (!file) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
sai::Document saiDoc(file->fileName().toUtf8().data());
|
||||||
|
if (!saiDoc.IsOpen()) {
|
||||||
|
qDebug() << "isOpen false";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::uint32_t width, height;
|
||||||
|
std::unique_ptr<std::uint8_t[]> PixelData;
|
||||||
|
std::tie(PixelData, width, height) = saiDoc.GetThumbnail();
|
||||||
|
// std::uint32_t aw, ah;
|
||||||
|
// std::tie(aw, ah) = saiDoc.GetCanvasSize();
|
||||||
|
// qDebug() << width << height << aw << ah;
|
||||||
|
if( PixelData == nullptr || !width || !height ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
const unsigned char * bytes = PixelData.get();
|
||||||
|
QImage img(bytes, static_cast<int>(width), static_cast<int>(height), QImage::Format_RGB32);
|
||||||
|
*image = img;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SAIHandler::write(const QImage &image)
|
bool SAIHandler::write(const QImage &image)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user