Skip to content

Commit

Permalink
saving all local originals images in PNG formats to prevent non trans…
Browse files Browse the repository at this point in the history
…parent bg for jpg src imgs cropped to circle or ellipse shaped png's
  • Loading branch information
keshavbhatt committed Mar 10, 2021
1 parent 28fba41 commit 90c65f4
Showing 1 changed file with 33 additions and 8 deletions.
41 changes: 33 additions & 8 deletions src/imageloader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,20 @@ bool ImageLoader::deleteTemporaryLocations()
void ImageLoader::openFile(QWidget *wid)
{
fileName.clear();
fileName = QFileDialog::getOpenFileName(wid,
QObject::tr("Open Image"), defaultLocation,
QObject::tr("Image Files (*.png *.jpg *.jpeg *.bmp *.tiff *.webp *.wbmp *mng)"));
bool useNativeDialog = settings.value("useNativeFileDialog",true).toBool();
if(useNativeDialog){
fileName = QFileDialog::getOpenFileName(wid,
QObject::tr("Open Image"), defaultLocation,
QObject::tr("Image Files (*.png *.jpg *.jpeg *.bmp *.tiff *.webp *.wbmp *mng)"));

}else{
fileName = QFileDialog::getOpenFileName(wid,
QObject::tr("Open Image"), defaultLocation,
QObject::tr("Image Files (*.png *.jpg *.jpeg *.bmp *.tiff *.webp *.wbmp *mng)"),nullptr,
QFileDialog::DontUseNativeDialog);

}

if(fileName.isEmpty() == false){
QFileInfo fileInfo(fileName);
settings.setValue("last_image_dir_path",fileInfo.dir().path());
Expand All @@ -57,8 +68,20 @@ void ImageLoader::openFile(QWidget *wid)

void ImageLoader::writeOriginalFile()
{
QFile file(fileName);
file.copy(originalLocation+QDir::separator()+getUUID()+"."+getOriginalExetension());
if(QString::compare("png",getOriginalExetension(),Qt::CaseInsensitive) == 0){
QFile file(fileName);
file.copy(originalLocation+QDir::separator()+getUUID()+"."+getOriginalExetension());
}else{
//we saving all local originals in PNG formats to prevent non transparent bg for jpg src imgs cropped to circle or ellipse shaped png's
QImage image(getOriginalPath());
//image.save(originalLocation+QDir::separator()+getUUID()+".png","PNG",-1); //this method seems slower

QImageWriter imgwritter;
imgwritter.setFileName(originalLocation+QDir::separator()+getUUID()+".png");
//imgwritter.setQuality(10);
imgwritter.setFormat("PNG");
imgwritter.write(image);
}
}

void ImageLoader::imageInfo()
Expand Down Expand Up @@ -104,8 +127,8 @@ QImage ImageLoader::writeScaledFile(QImage img)

QImageWriter imgwritter;
imgwritter.setFileName(getScaledPath());
imgwritter.setCompression(0);
imgwritter.setQuality(100);
//imgwritter.setCompression(0);
//imgwritter.setQuality(100);
imgwritter.setFormat("PNG");
imgwritter.write(img);
}
Expand All @@ -115,7 +138,9 @@ QImage ImageLoader::writeScaledFile(QImage img)

QString ImageLoader::getLocalOriginalPath()
{
return originalLocation+QDir::separator()+getUUID()+"."+getOriginalExetension();
// return originalLocation+QDir::separator()+getUUID()+"."+getOriginalExetension();
//we saving all local originals in PNG formats to prevent non transparent bg for jpg src imgs cropped to circle or ellipse shaped png's
return originalLocation+QDir::separator()+getUUID()+".png";
}

// the real file name.
Expand Down

0 comments on commit 90c65f4

Please sign in to comment.