diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..2018d0a
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,5 @@
+{
+    "files.associations": {
+        "system_error": "cpp"
+    }
+}
\ No newline at end of file
diff --git a/src/backend/image_show.cpp b/src/backend/image_show.cpp
index f817a49..a57c86e 100644
--- a/src/backend/image_show.cpp
+++ b/src/backend/image_show.cpp
@@ -22,13 +22,13 @@ void image_show::setImage(QPixmap image)
     QImage re_screen1;
     QImage re_screen0 = screen0.scaled(QSize(400, 300), Qt::KeepAspectRatio, Qt::SmoothTransformation);
 
-    // 获取主屏幕尺寸
-    desktop_w = QGuiApplication::primaryScreen()->geometry().width();
-    desktop_h = QGuiApplication::primaryScreen()->geometry().height();
+    // 获取当前app所在的主屏幕尺寸
+    desktop_w = QGuiApplication::screenAt(QCursor().pos())->geometry().width();
+    desktop_h = QGuiApplication::screenAt(QCursor().pos())->geometry().height();
 
-    if (screen0.width() > (desktop_w - 20) || screen0.height() > (desktop_h - 20))
+    if (screen0.width() > int(desktop_w / 3 * 2) || screen0.height() > int(desktop_h / 3 * 2))
     {
-        re_screen1 = screen0.scaled(QSize(desktop_w - 20, desktop_h - 20), Qt::KeepAspectRatio, Qt::SmoothTransformation);
+        re_screen1 = screen0.scaled(QSize(int(desktop_w / 3 * 2), int(desktop_h / 3 * 2)), Qt::KeepAspectRatio, Qt::SmoothTransformation);
         m_image = QPixmap::fromImage(re_screen1);
     }
     else
@@ -42,12 +42,12 @@ void image_show::setImage(QPixmap image)
 void image_show::mousePressEvent(QMouseEvent *)
 {
     m_dialog->setimage(m_image);
-    m_dialog->showFullScreen();
+    m_dialog->show();
 
     // 识别主屏幕尺寸并设置 widget 大小
-    m_dialog->setFixedSize(desktop_w, desktop_h);
+    m_dialog->setFixedSize(qMin(desktop_w, m_image.width() + int(desktop_h / 16 * m_image.width() / m_image.height())), qMin(desktop_h, m_image.height() + int(desktop_h / 16)));
 
-    m_dialog->move(0, 0);
+    m_dialog->move(QGuiApplication::screenAt(QCursor().pos())->geometry().center() - m_dialog->rect().center());
 }
 image_show::~image_show()
 {