From 1b6cb511be6fbf86b89a0a3d7121d99796966e17 Mon Sep 17 00:00:00 2001 From: Syping Date: Sun, 15 Nov 2020 13:15:16 +0100 Subject: [PATCH] SnapmaticPicture: add eXtendMode --- SnapmaticPicture.cpp | 14 ++++++++++---- SnapmaticPicture.h | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/SnapmaticPicture.cpp b/SnapmaticPicture.cpp index e875c3d..8e0242e 100644 --- a/SnapmaticPicture.cpp +++ b/SnapmaticPicture.cpp @@ -171,7 +171,7 @@ bool SnapmaticPicture::readingPictureFromFile(const QString &fileName, bool cach } } -bool SnapmaticPicture::setImage(const QImage &picture) +bool SnapmaticPicture::setImage(const QImage &picture, bool eXtendMode) { quint32 jpegPicStreamLength = p_ragePhoto.photoBuffer(); QByteArray picByteArray; @@ -184,9 +184,15 @@ bool SnapmaticPicture::setImage(const QImage &picture) saveSuccess = picture.save(&picStreamT, "JPEG", comLvl); picStreamT.close(); if (saveSuccess) { - if (static_cast(picByteArrayT.length()) > jpegPicStreamLength) { - comLvl--; - saveSuccess = false; + quint32 size = picByteArrayT.length(); + if (size > jpegPicStreamLength) { + if (!eXtendMode) { + comLvl--; + saveSuccess = false; + } + else { + p_ragePhoto.setPhotoBuffer(size, true); + } } else { picByteArray = picByteArrayT; diff --git a/SnapmaticPicture.h b/SnapmaticPicture.h index 2889299..4665cb5 100644 --- a/SnapmaticPicture.h +++ b/SnapmaticPicture.h @@ -74,7 +74,7 @@ public: QString getOriginalPictureFileName(); QString getOriginalPictureFilePath(); int getContentMaxLength(); - bool setImage(const QImage &picture); + bool setImage(const QImage &picture, bool eXtendMode = false); bool setPictureTitl(const QString &newTitle); // Please use setPictureTitle instead bool setPictureStream(const QByteArray &streamArray); void updateStrings();