⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.ui.h

📁 qt qimage 显示图象类的使用
💻 H
📖 第 1 页 / 共 3 页
字号:
                    } else {                        q = (uint *)imagetemp.scanLine(y) + x;                        *q = qRgb(255,255,255);                    }                }            }        }        str.sprintf("Different pixels: %d ! Ratio: %f percent !", difcount, (float)difcount/(float)(imgwidth * imgheight) * 100);        lineEdit1->setText(str);        p.drawImage(QRect(QPoint(320,290),QPoint(448,396)),imagetemp);        Savefile(radioButtonCom,"DifferentImage.jpg",lineEditSave,imagetemp);    }    else lineEdit1->setText("SAME");}void Form1::compare(){    if ((!openflagA) && (lineEditA->text() == "")) {        lineEdit1->setText("WARNING: Please select image A"); return;    }    if ((!openflagB) && (lineEditB->text() == "")) {        lineEdit1->setText("WARNING: Please select image B"); return;    }    filedirA = lineEditA->text();    filedirB = lineEditB->text();    QImage imageA(filedirA);    QImage imageB(filedirB);    QPainter p( this );     p.drawImage(QRect(QPoint(70,110),QPoint(198,206)),imageA);    p.drawImage(QRect(QPoint(280,110),QPoint(408,206)),imageB);    //p.drawImage(QPoint(20,190), imageA);    //p.drawImage(QPoint(300,190), imageB);    lineEdit1->setText((imageA == imageB)? "The two images are SAME" : "The two images are NOT same");    if (imageA != imageB) {        QTime time = QTime::currentTime();        QDate date = QDate::currentDate();        QString s;        s.sprintf("%4d_%2d_%2d-%2d:%2d:%2d.jpg",date.year(),date.month(),date.day(),time.hour(),time.minute(),time.second());        lineEdit1->setText("They are NOT same !");        if (!Savefile(radioButtonCom,s,lineEditSave,imageB)) {            lineEdit1->setText("NOT same !");             return;        } else lineEdit1->setText("NOT same, Image B saved success!");        return;    }}void Form1::openA(){    QFileDialog A("/arca/wsy/testpicture/");    A.setFilter( "Images (*.png *.xpm *.jpg *.bmp *.JPG)" );    //A.setViewMode( QFileDialog::Detail );    if ( A.exec() == QDialog::Accepted ) {        filedirA = A.selectedFile();        filepathA = A.dirPath();        openflagA = TRUE;        //imageA->setText(filedirA);        lineEditA->setText(filedirA);    }    if (openflagA == TRUE) {        QImage imageA(filedirA);        QPainter p( this );        p.drawImage(QRect(QPoint(70,110),QPoint(198,206)),imageA);    }}void Form1::openB(){    QFileDialog B("/arca/wsy/testpicture/");    B.setFilter( "Images (*.png *.xpm *.jpg *.bmp *.JPG)" );    //B.setViewMode( QFileDialog::Detail );    if ( B.exec() == QDialog::Accepted ) {        //filenameB = B.selectedFile();        filedirB = B.selectedFile();        filepathB = B.dirPath();        openflagB = TRUE;        //imageB->setText(filedirB);        lineEditB->setText(filedirB);    }    if (openflagB == TRUE) {        QImage imageB(filedirB);        QPainter p( this );         p.drawImage(QRect(QPoint(280,140),QPoint(408,206)),imageB);    }}void Form1::calcolorA(){    if ((!openflagA) && (lineEditA->text() == "")) {        lineEdit1->setText("WARNING: Please select image A"); return;    }    filedirA = lineEditA->text();    QImage imageA(filedirA);    QImage imagetemp = imageA;    QRgb rgb;    int r,g,b;    int x,y;    uint *p;    //set (x,y) color to (255,255,0)    for (y=0; y<imageA.height();y++) {        for (x=0;x<imageA.width();x++) {            rgb = imageA.pixel(x,y);            //r = qRed(rgb);            //g = qGreen(rgb);            // b = qBlue(rgb);            r = (int)((float)qRed(rgb) *255.0 / (float)(qRed(rgb)+qGreen(rgb)+qBlue(rgb)));            g = (int)((float)qGreen(rgb) *255.0 / (float)(qRed(rgb)+qGreen(rgb)+qBlue(rgb)));            b = (int)((float)qBlue(rgb) *255.0 / (float)(qRed(rgb)+qGreen(rgb)+qBlue(rgb)));            // cout<<"At ("<<x<<","<<y<<") :"<<"r="<<r<<"  g="<<g<<"  b="<<b<<endl;            p = (uint *)imagetemp.scanLine(y) + x;            *p = qRgb(r,g,b);        }    }    QPainter q( this );     q.drawImage(QRect(QPoint(530,320),QPoint(658,416)),imagetemp);    if (!Savefile(radioButtonCal,"calcolorA.jpg",lineEditSave,imagetemp)) return;}void Form1::calcolorB(){    if ((!openflagB) && (lineEditB->text() == "")) {        lineEdit1->setText("WARNING: Please select image B"); return;    }    filedirB = lineEditB->text();    QImage imageB(filedirB);    QImage imagetemp = imageB;    QRgb rgb;    int r,g,b;    int x,y;    uint *p;    //set (x,y) color to (255,255,0)    for (y=0; y<imageB.height();y++) {        for (x=0;x<imageB.width();x++) {            rgb = imageB.pixel(x,y);            r = (int)((float)qRed(rgb) *255.0 / (float)(qRed(rgb)+qGreen(rgb)+qBlue(rgb)));            g = (int)((float)qGreen(rgb) *255.0 / (float)(qRed(rgb)+qGreen(rgb)+qBlue(rgb)));            b = (int)((float)qBlue(rgb) *255.0 / (float)(qRed(rgb)+qGreen(rgb)+qBlue(rgb)));            p = (uint *)imagetemp.scanLine(y) + x;            *p = qRgb(r,g,b);        }    }    QPainter q( this );     q.drawImage(QRect(QPoint(530,440),QPoint(658,536)),imagetemp);    if (!Savefile(radioButtonCal,"calcolorB.jpg",lineEditSave,imagetemp)) {        return;    }}void Form1::formatchange(){    QString s;    // QString strfilename, str , strdis;      if ((comboBoxAB->currentItem()) == 0) {        if ((!openflagA) && (lineEditA->text() == "")) {            lineEdit1->setText("WARNING: Please select image A"); return;        }        filedirA = lineEditA->text();        QImage imageA(filedirA);        switch (comboBoxfomat->currentItem()) {        case 0:            //str.sprintf("AformatchangetoJPEG.jpg");            //strfilename = filepathA + str;            if ((!openSaveflag) && (lineEditSave->text() == "")) {                QMessageBox::warning(0,"File save failed","Please choose a Directory to save your pictures !");                return;            }            filedirSave = lineEditSave->text();            s.sprintf("/AformatchangetoJPEG.jpg");            s = filedirSave + s;            if (imageA.save(s,"JPEG"))                lineEdit8->setText("Change success !");            else lineEdit8->setText("Save failed !");            //   if(imageA.save("/arca/wsy/testpicture/AformatchangetoJPEG.jpg","JPEG") == TRUE)             //strdis.sprintf("Change success ! Save the image to %s",strfilename);            //  lineEdit8->setText("Change success !");            //  else            // lineEdit8->setText("Save failed !");            break;        case 1:            // if(imageA.save("/arca/wsy/testpicture/AformatchangetoBMP.bmp","BMP") == TRUE)             // lineEdit8->setText("Change success !");            //  else            // lineEdit8->setText("Save failed !");            if ((!openSaveflag) && (lineEditSave->text() == "")) {                QMessageBox::warning(0,"File save failed","Please choose a Directory to save your pictures !");                return;            }            filedirSave = lineEditSave->text();            //QString s;            s.sprintf("/AformatchangetoBMP.bmp");            s = filedirSave + s;            if (imageA.save(s,"BMP"))                lineEdit8->setText("Change success !");            else lineEdit8->setText("Save failed !");            break;        case 2:            //  if(imageA.save("/arca/wsy/testpicture/AformatchangetoPNG.png","PNG") == TRUE)             //  lineEdit8->setText("Change success !");            //  else            //  lineEdit8->setText("Save failed !");            if ((!openSaveflag) && (lineEditSave->text() == "")) {                QMessageBox::warning(0,"File save failed","Please choose a Directory to save your pictures !");                return;            }            filedirSave = lineEditSave->text();            //QString s;            s.sprintf("/AformatchangetoPNG.png");            s = filedirSave + s;            if (imageA.save(s,"PNG"))                lineEdit8->setText("Change success !");            else lineEdit8->setText("Save failed !");            break;        case 3:            if ((!openSaveflag) && (lineEditSave->text() == "")) {                QMessageBox::warning(0,"File save failed","Please choose a Directory to save your pictures !");                return;            }            filedirSave = lineEditSave->text();            //QString s;            s.sprintf("/AformatchangetoXPM.xpm");            s = filedirSave + s;            if (imageA.save(s,"XPM"))                lineEdit8->setText("Change success !");            else lineEdit8->setText("Save failed !");            break;        }    } else if ((comboBoxAB->currentItem()) == 1) {        if ((!openflagB) && (lineEditB->text() == "")) {            lineEdit1->setText("WARNING: Please select image B"); return;        }        filedirB = lineEditB->text();        QImage imageB(filedirB);        switch (comboBoxfomat->currentItem()) {        case 0:            //str.sprintf("BformatchangetoJPEG.jpg");            //strfilename = filepathB + str;            //  if(imageB.save("/arca/wsy/testpicture/BformatchangetoJPEG.jpg","JPEG") == TRUE)             //  lineEdit8->setText("Change success !");            // else            //  lineEdit8->setText("Save failed !");            if ((!openSaveflag) && (lineEditSave->text() == "")) {                QMessageBox::warning(0,"File save failed","Please choose a Directory to save your pictures !");                return;            }            filedirSave = lineEditSave->text();            // QString s;            s.sprintf("/BformatchangetoJPEG.jpg");            s = filedirSave + s;            if (imageB.save(s,"JPEG") == TRUE)                lineEdit8->setText("Change success !");            else lineEdit8->setText("Save failed !");            break;        case 1:            //if(imageB.save("/arca/wsy/testpicture/BformatchangetoBMP.bmp","BMP") == TRUE)             //lineEdit8->setText("Change success !");            //else            //lineEdit8->setText("Save failed !");            if ((!openSaveflag) && (lineEditSave->text() == "")) {                QMessageBox::warning(0,"File save failed","Please choose a Directory to save your pictures !");                return;            }            filedirSave = lineEditSave->text();            // QString s;            s.sprintf("/BformatchangetoBMP.bmp");            s = filedirSave + s;            if (imageB.save(s,"BMP"))                lineEdit8->setText("Change success !");            else lineEdit8->setText("Save failed !");            break;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -