2024-11-15 09:23:00 +00:00
|
|
|
|
#include "QMergeRasterProcessDialog.h"
|
|
|
|
|
|
#include "QToolProcessBarDialog.h"
|
2024-11-25 06:26:46 +00:00
|
|
|
|
#include "ImageOperatorBase.h"
|
2024-11-15 09:23:00 +00:00
|
|
|
|
#include <QString>
|
|
|
|
|
|
#include <QVector>
|
|
|
|
|
|
#include <QFileDialog>
|
|
|
|
|
|
#include <QMessageBox>
|
2025-02-07 11:47:41 +00:00
|
|
|
|
#include "ui_QMergeRasterProcessDialog.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-11-15 09:23:00 +00:00
|
|
|
|
QMergeRasterProcessDialog::QMergeRasterProcessDialog(QWidget *parent)
|
2025-02-20 07:30:58 +00:00
|
|
|
|
: QDialog(parent),ui(new Ui::QMergeRasterProcessDialogClass)
|
2024-11-15 09:23:00 +00:00
|
|
|
|
{
|
2025-02-07 11:47:41 +00:00
|
|
|
|
ui->setupUi(this);
|
2024-11-15 09:23:00 +00:00
|
|
|
|
|
2025-02-07 11:47:41 +00:00
|
|
|
|
QObject::connect(ui->pushButtonSelect, SIGNAL(clicked(bool)), this, SLOT(onpushButtonSelectClick(bool)));
|
|
|
|
|
|
QObject::connect(ui->AddpushButton, SIGNAL(clicked(bool)), this, SLOT(onAddpushButtonClick(bool)));
|
|
|
|
|
|
QObject::connect(ui->RemovepushButton, SIGNAL(clicked(bool)), this, SLOT(onRemovepushButtonClick(bool)));
|
|
|
|
|
|
QObject::connect(ui->buttonBoxDialog, SIGNAL(accepted()), this, SLOT(acceptclick()));
|
|
|
|
|
|
QObject::connect(ui->buttonBoxDialog, SIGNAL(rejected()), this, SLOT(rejectclick()));
|
2024-11-15 09:23:00 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
QMergeRasterProcessDialog::~QMergeRasterProcessDialog()
|
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void QMergeRasterProcessDialog::onpushButtonSelectClick(bool checked ) {
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>һ<EFBFBD><D2BB> .tif <20>ļ<EFBFBD>
|
|
|
|
|
|
QString fileName = QFileDialog::getSaveFileName(this,
|
|
|
|
|
|
u8"ѡ<EFBFBD><EFBFBD> TIF <20>ļ<EFBFBD>", // <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
"", // <20><>ʼĿ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ·<CEAA><C2B7>
|
|
|
|
|
|
u8"Image Files (*.tif);;All Files (*)"); // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><CDB9><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
if (!fileName.isEmpty()) {
|
2025-02-07 11:47:41 +00:00
|
|
|
|
this->ui->lineEditOutPath->setText(fileName);
|
2024-11-15 09:23:00 +00:00
|
|
|
|
}
|
|
|
|
|
|
else {
|
|
|
|
|
|
QMessageBox::information(this, u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>", u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ļ<EFBFBD>");
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void QMergeRasterProcessDialog::onAddpushButtonClick(bool checked )
|
|
|
|
|
|
{
|
|
|
|
|
|
QStringList fileNames = QFileDialog::getOpenFileNames(
|
|
|
|
|
|
this, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
tr(u8"ѡ<EFBFBD><EFBFBD>TIF<EFBFBD>ļ<EFBFBD>"), // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
QString(), // Ĭ<><C4AC>·<EFBFBD><C2B7>
|
|
|
|
|
|
tr(u8"TIF Files (*.tif);;All Files (*)") // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
if (!fileNames.isEmpty()) {
|
|
|
|
|
|
QString message = "ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>У<EFBFBD>\n";
|
|
|
|
|
|
for (const QString& fileName : fileNames) {
|
2025-02-07 11:47:41 +00:00
|
|
|
|
this->ui->listWidgetRaster->addItem(fileName);
|
2024-11-15 09:23:00 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
else {
|
|
|
|
|
|
QMessageBox::information(this, tr(u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"), tr(u8"û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>"));
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void QMergeRasterProcessDialog::onRemovepushButtonClick(bool checked )
|
|
|
|
|
|
{
|
2025-02-07 11:47:41 +00:00
|
|
|
|
QList<QListWidgetItem*> selectedItems =this->ui->listWidgetRaster->selectedItems();
|
2024-11-15 09:23:00 +00:00
|
|
|
|
for (QListWidgetItem* item : selectedItems) {
|
2025-02-07 11:47:41 +00:00
|
|
|
|
delete this->ui->listWidgetRaster->takeItem(this->ui->listWidgetRaster->row(item));
|
2024-11-15 09:23:00 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void QMergeRasterProcessDialog::acceptclick()
|
|
|
|
|
|
{
|
|
|
|
|
|
QToolProcessBarDialog* processdialog = new QToolProcessBarDialog(this);
|
|
|
|
|
|
|
2025-02-20 07:30:58 +00:00
|
|
|
|
QList<QString> infile;// (ui->listWidgetRaster->count());
|
2025-02-07 11:47:41 +00:00
|
|
|
|
QString outstring = ui->lineEditOutPath->text();
|
|
|
|
|
|
for (long i = 0; i < ui->listWidgetRaster->count(); i++) {
|
2025-02-20 07:30:58 +00:00
|
|
|
|
infile.append(ui->listWidgetRaster->item(i)->text());
|
2024-11-15 09:23:00 +00:00
|
|
|
|
}
|
|
|
|
|
|
processdialog->show();
|
|
|
|
|
|
processdialog->showProcess(0.0,u8"<EFBFBD>ϲ<EFBFBD>Ӱ<EFBFBD><EFBFBD>");
|
2025-02-20 07:30:58 +00:00
|
|
|
|
|
|
|
|
|
|
MergeTiffs(infile, outstring);
|
|
|
|
|
|
//MergeRasterProcess(infile, outstring, infile[0], MERGEMODE::MERGE_GEOCODING, false, processdialog);
|
2024-11-15 10:15:16 +00:00
|
|
|
|
processdialog->close();
|
2025-02-20 07:30:58 +00:00
|
|
|
|
QMessageBox::information(this, u8"info", u8"completed!!!");
|
2024-11-15 09:23:00 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void QMergeRasterProcessDialog::rejectclick()
|
|
|
|
|
|
{
|
2024-11-25 01:30:14 +00:00
|
|
|
|
this->close();
|
2024-11-15 09:23:00 +00:00
|
|
|
|
}
|