diff --git a/saoriviewentry.cpp b/saoriviewentry.cpp index 700cb57..63732f7 100644 --- a/saoriviewentry.cpp +++ b/saoriviewentry.cpp @@ -30,6 +30,7 @@ #include "saoridef.h" #include #include +#include #include SaoriViewEntry::SaoriViewEntry(qlonglong id, QWidget *parent) : @@ -113,18 +114,19 @@ c << "avatar" << "mavatar" << "media" << "nsfwmedia"; switch (c.indexOf(type)) { case 0: - image = image.scaled(64,64,Qt::KeepAspectRatio,Qt::SmoothTransformation); + image = roundedImage(image,10).scaled(64,64,Qt::KeepAspectRatio,Qt::SmoothTransformation); break; case 1: - image = image.scaled(32,32,Qt::KeepAspectRatio,Qt::SmoothTransformation); + image = roundedImage(image,10).scaled(32,32,Qt::KeepAspectRatio,Qt::SmoothTransformation); break; case 2: - image = image.scaledToWidth(200,Qt::SmoothTransformation); + image = roundedImage(image,20).scaledToWidth(200,Qt::SmoothTransformation); break; case 3: if (SaoriApplication::saori()->setting()->value(SAORI_SETTING_NSFWBLUR,SAORI_SETTING_NSFWBLUR_DEFAULT).toBool()) image = image.scaledToWidth(10,Qt::SmoothTransformation); image = image.scaledToWidth(200,Qt::SmoothTransformation); + image = roundedImage(image,20); break; default: break; @@ -132,6 +134,20 @@ return; } +QImage SaoriViewEntry::roundedImage(QImage &image, int r) +{ + QPainter painter; + QPainterPath p; + QImage i; + i = QImage(image.width(),image.height(),QImage::Format_RGBA8888); + i.fill(QColor(0,0,0,0)); + p.addRoundedRect(0,0,image.width(),image.height(),image.width() / r,image.width() / r); + painter.begin(&i); + painter.fillPath(p,QBrush(image)); + painter.end(); + return i; +} + void SaoriViewEntry::downloaded(const QUrl url) { m_urlmap[url.toString()] = SaoriApplication::saori()->cache()->fileCache(url); diff --git a/saoriviewentry.h b/saoriviewentry.h index 737e5a2..87c7941 100644 --- a/saoriviewentry.h +++ b/saoriviewentry.h @@ -45,6 +45,7 @@ const QString designedText(); const QString imageReplacer(); void imageResizer(const QString type,QImage &image); + QImage roundedImage(QImage &image,int r); protected: qlonglong m_id;