diff options
Diffstat (limited to 'pictureviewer.cpp')
-rw-r--r-- | pictureviewer.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/pictureviewer.cpp b/pictureviewer.cpp index 33131de..502c544 100644 --- a/pictureviewer.cpp +++ b/pictureviewer.cpp @@ -29,6 +29,7 @@ void PictureViewer::showPic(const QString &path, bool enableDirEntries){ if(!fi.exists() || fi.isDir()){ return; } + QPixmap img(path); if(img.isNull()){ return; @@ -68,6 +69,7 @@ void PictureViewer::showPic(const QString &path, bool enableDirEntries){ resize(img.size() + QSize(20, 20)); setSceneRect(viewport()->rect()); + setGradient(img.toImage()); QGraphicsPixmapItem *item = new QGraphicsPixmapItem(img); mCurrentPic = item; item->setPos(center(img)); @@ -134,9 +136,9 @@ void PictureViewer::wheelEvent(QWheelEvent *event){ } } -void PictureViewer::setGradient(){ - QColor c1(255, 7, 15); - QColor c2(80, 55, 250); +void PictureViewer::setGradient(const QImage &img){ + QColor c1(img.pixel(2, 2)); + QColor c2(img.pixel(img.width() - 2, img.height() - 2)); QLinearGradient g(QPointF(0, 0), sceneRect().bottomRight()); g.setColorAt(0, c1); g.setColorAt(1, c2); |