代码如下
void mainWindow::on_actionOpenFile_triggered() {
source_file_name = QFileDialog::getOpenFileName(this, tr("Open File"), "",
tr("Image Files(*.jpg *.png *.bmp *.jpeg *.gif))"));
if (!source_file_name.isEmpty()) {
QImage image(source_file_name);
if (image.isNull()) {
qDebug() << "QImage Failed to load image: " << source_file_name;
return;
}
QPixmap pixmap(QPixmap::fromImage(image));
if (!pixmap.isNull()) {
left->clear();
left->addPixmap(pixmap);
GraphicLeft->setScene(left);
setWindowTitle(source_file_name);
} else {
qDebug() << "QPixmap Failed to load image: " << source_file_name;
}
}
}
//部分定义如下
QGraphicsScene *left;
QGraphicsScene *right;
QString source_file_name;
QString target_file_name;
//其中GraphicLeft是QGraphicsView
图片样例如下
小的图片也就是磁盘可以正常打开,但是那张大的无法打开
图片的区别处理分辨率以外就是png多了透明通道,但是不知道为什么会产生这样的问题,希望有能者能够回答。万分感谢!