diff --git a/src/ScanFormWidget.cpp b/src/ScanFormWidget.cpp index 74733f4..8950727 100644 --- a/src/ScanFormWidget.cpp +++ b/src/ScanFormWidget.cpp @@ -133,20 +133,25 @@ ScanFormWidget::ScanFormWidget(QWidget *parent) : TabFormWidget(parent) { connect(EventCenter::Default(),&EventCenter::ResponsePreview,[=](QObject* sender,QObject* data){ setPreviewing(true); }); + connect(EventCenter::Default(),&EventCenter::ResponsePreviewData,[=](QObject* sender,QObject* data){ if (!data)return; + static const size_t Row = 140; + static const size_t Col = 140; + static const float pixelSpacing = 1.5f; + static const float halfROIWidth = 100.0f; QByteArray* array = (QByteArray*)data; uchar* raw_dataptr = (uchar*)array->data(); - uchar c_data[200][200]; + uchar c_data[Row][Col]; uchar* data_ptr = c_data[0]; - for(int i=0;i<200;i++){ + for(int i=0;idata(); - QImage img(c_data[0] , 200, 200, QImage::Format_Grayscale8); + QImage img(c_data[0] , Col, Row, QImage::Format_Grayscale8); viewer->setFixedSize(800,800); QPixmap pic = QPixmap::fromImage(img).scaledToHeight(800,Qt::SmoothTransformation); QPainter painter(&pic); @@ -159,18 +164,19 @@ ScanFormWidget::ScanFormWidget(QWidget *parent) : TabFormWidget(parent) { font.setBold(true); painter.setFont(font); painter.setPen(pen); - painter.drawLine(29*4,29*4,29*4,171*4); - painter.drawLine(29*4+1,29*4,171*4,29*4); - painter.drawLine(29*4+1,171*4,171*4,171*4); - painter.drawLine(171*4,29*4+1,171*4,171*4-1); + static int borderSpacing = round(((pixelSpacing*(Row*0.5f)-halfROIWidth)*(800.0f/(1.5f*140.0f)))); + painter.drawLine(borderSpacing,borderSpacing,borderSpacing,800-borderSpacing); + painter.drawLine(borderSpacing+1,borderSpacing,800-borderSpacing,borderSpacing); + painter.drawLine(borderSpacing+1,800-borderSpacing,800-borderSpacing,800-borderSpacing); + painter.drawLine(800-borderSpacing,borderSpacing+1,800-borderSpacing,800-borderSpacing-1); pen.setColor(QColor(255,255,0)); painter.setPen(pen); - painter.drawText(335,40,"Previewing"); - painter.drawText(29*3,400-13,"R"); - painter.drawText(800-29*3-13,400-13,"L"); - painter.drawText(400-13,29*3+13,"H"); - painter.drawText(400-13,800-29*3+13,"F"); - painter.drawText(29*4,29*4-2,"ROI"); +// painter.drawText(335,40,"Previewing"); + painter.drawText(borderSpacing+13,400+13,"R"); + painter.drawText(800-borderSpacing-30,400+13,"L"); + painter.drawText(400-13,borderSpacing+30,"H"); + painter.drawText(400-13,800-borderSpacing-13,"F"); + painter.drawText(borderSpacing+6,borderSpacing+30,"ROI"); viewer->setPixmap(pic); }); connect(EventCenter::Default(),&EventCenter::PatientSelected,[=](QObject* sender,QObject* data){