首先看下QImage、QPixmap、QBitmap、QPicture四个类
QImage是设计并优化来为 I/O操作的,可以直接访问和操作像素,而QPixmap是设计并优化来在屏幕上显示图片的。QBitmap仅是继承自QPixmap的一个方便使用的类,是为了确保图片的深度为1.QPicture是绘图设备,可以用来重现QPainte。
1、一个简单的图片显示程序(以下仅是部分程序段,相信大家会看明白)
QPixmappixmap("image.jpg" ); //image.jpg在程序的当前目录下。
PixmapLabel1->setPixmap(pixmap); //PixmapLabel1标签即可显示图片。
2、将QImage转换为QPixmap
QString fileName = QFileDialog::getOpenFileName(this,
tr("Open File"), QDir::currentPath());
if (!fileName.isEmpty())
{
QImage image(fileName); //定义QImage类。
if (image.isNull()) {
QMessageBox::information(this, tr("Image Viewer"),
tr("Cannot load %1.").arg(fileName));
return;
}
ui.label->setPixmap(QPixmap::fromImage(image)); 将QImage转换为QPixmap。
}
3、QImage的加载图片的方法(个人现只懂两种)
(1)、QImage image(fileName); //直接在QImage类的构造函数搞定,fileName是指应用程序的当前目录,相信大家能理解这里所说的当前目录。
(2)、 QImage image;
image.load(fileName); //使用了load方法。