فهرست منبع

Scale image to fit area

Michael Pitidis 13 سال پیش
والد
کامیت
db15457e46
1فایلهای تغییر یافته به همراه12 افزوده شده و 1 حذف شده
  1. 12 1
      labelme.py

+ 12 - 1
labelme.py

@@ -148,9 +148,20 @@ class MainWindow(QMainWindow, WindowMixin):
     def showImage(self):
         if self.image.isNull():
             return
-        self.imageWidget.setPixmap(QPixmap.fromImage(self.image))
+        self.imageWidget.setPixmap(self.scaled(QPixmap.fromImage(self.image)))
         self.imageWidget.show()
 
+    def resizeEvent(self, event):
+        if self.imageWidget and self.imageWidget.pixmap():
+            self.imageWidget.setPixmap(self.scaled(self.imageWidget.pixmap()))
+        super(MainWindow, self).resizeEvent(event)
+
+    def scaled(self, pixmap):
+        width = self.centralWidget().width()
+        height = self.centralWidget().height()
+        return pixmap.scaled(width, height,
+          Qt.KeepAspectRatio, Qt.SmoothTransformation)
+
     def closeEvent(self, event):
         # TODO: Make sure changes are saved.
         s = self.settings