diff options
Diffstat (limited to 'helper.cpp')
-rw-r--r-- | helper.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
@@ -260,13 +260,15 @@ namespace Helper { retval.fill(Qt::transparent); QPainter p(&retval); QImage img1 = snapshot(path, 20); - p.drawImage(0, 0, img1); + int yOff = (480 - img1.height()) / 2; + yOff = yOff < 0 ? 0 : yOff; + p.drawImage(0, yOff, img1); QImage img2 = snapshot(path, interval * 2); - p.drawImage(680, 0, img2); + p.drawImage(680, yOff, img2); QImage img3 = snapshot(path, interval * 3); - p.drawImage(0, 520, img3); + p.drawImage(0, 520 + yOff, img3); QImage img4 = snapshot(path, secs - 60); - p.drawImage(680, 520, img4); + p.drawImage(680, 520 + yOff, img4); QPixmap pmretval = QPixmap::fromImage(retval); return pmretval; } @@ -287,7 +289,19 @@ namespace Helper { ffproc.waitForFinished(); } QImage retval(tf.fileName()); - return retval.scaledToWidth(640); + retval = retval.scaledToWidth(640); + Duration dur(where); + QFont font("courier", 10); + QFontMetrics fm(font); + int width = fm.width(dur.toString()); + int height = fm.height(); + QPainter p(&retval); + p.setBrush(QBrush(QColor(255, 255, 255, 70))); + QRect durRect(640 / 2 - width / 2 - 4, retval.height() - height - 8, width + 4, height + 4); + p.drawRect(durRect); + p.setPen(Qt::black); + p.drawText(durRect, Qt::AlignCenter, dur.toString()); + return retval; } QVariant picSize(const QString &path){ |