From df89f258783823d039333f2eb44a5bb83e471bef Mon Sep 17 00:00:00 2001 From: gb <741021719@qq.com> Date: Tue, 5 Jul 2022 10:32:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=8C=BA=E5=9F=9F=E5=8F=B3=E4=B8=8B=E4=BE=A7=E8=B6=85=E5=87=BA?= =?UTF-8?q?=E7=AA=97=E5=8F=A3=E8=8C=83=E5=9B=B4=E5=AF=BC=E8=87=B4=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E6=93=8D=E4=BD=9C=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=88?= =?UTF-8?q?=E6=9A=82=E6=97=B6=E6=96=B9=E6=A1=88=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/scanner/cutdialog.cpp | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/app/scanner/cutdialog.cpp b/app/scanner/cutdialog.cpp index 0a7a0656..ff701baa 100644 --- a/app/scanner/cutdialog.cpp +++ b/app/scanner/cutdialog.cpp @@ -357,17 +357,24 @@ void cutDialog::drawCutRect(QPainter &painter) { painter.setPen(QPen(Qt::green,1)); m_rect = QRectF(m_startPoint,m_endPoint); - painter.drawRect(m_rect); + + QRectF r(m_rect); + if(r.right() + 6 > paperWidth) + r.setRight(paperWidth - 6); + if(r.bottom() + 2 > paperHeight) + r.setBottom(paperHeight - 2); + + painter.drawRect(r); painter.setPen(QPen(Qt::red,1)); painter.setBrush(Qt::red); - painter.drawEllipse(m_rect.left()-2,(m_rect.bottom()-m_rect.top())/2+m_rect.top()-2,4,4); - painter.drawEllipse(m_rect.left()-2,m_rect.top()-2,4,4); - painter.drawEllipse(m_rect.left()-2,m_rect.bottom()-2,4,4); - painter.drawEllipse(m_rect.right()-2,m_rect.top()-2,4,4); - painter.drawEllipse(m_rect.right()-2,m_rect.bottom()-2,4,4); - painter.drawEllipse(m_rect.right()-2,(m_rect.bottom()-m_rect.top())/2+m_rect.top()-2,4,4); - painter.drawEllipse((m_rect.right()-m_rect.left())/2+m_rect.left()-2,m_rect.top()-2,4,4); - painter.drawEllipse((m_rect.right()-m_rect.left())/2+m_rect.left()-2,m_rect.bottom()-2,4,4); + painter.drawEllipse(r.left()-2,(r.bottom()-r.top())/2+r.top()-2,4,4); + painter.drawEllipse(r.left()-2,r.top()-2,4,4); + painter.drawEllipse(r.left()-2,r.bottom()-2,4,4); + painter.drawEllipse(r.right()-2,r.top()-2,4,4); + painter.drawEllipse(r.right()-2,r.bottom()-2,4,4); + painter.drawEllipse(r.right()-2,(r.bottom()-r.top())/2+r.top()-2,4,4); + painter.drawEllipse((r.right()-r.left())/2+r.left()-2,r.top()-2,4,4); + painter.drawEllipse((r.right()-r.left())/2+r.left()-2,r.bottom()-2,4,4); } void cutDialog::drawTransparentColor(QPainter &painter)