24,860
社区成员




void TestDir::on_signal_show_image1(const QString &picture_path)
{
/*QImageReader reader(picture_path);
reader.setAutoTransform(true);
QImage newImage = reader.read();
ui.image1->setPixmap(QPixmap::fromImage(newImage));*/
/*QPixmap p;
p.load(picture_path);
ui.image1->setPixmap(p);*/
ui.image1->clear();
image.load(picture_path);//吃内存
image = image.scaled(image.size(), Qt::KeepAspectRatio);
ui.image1->setPixmap(QPixmap::fromImage(image));//吃内存
/*QPixmap *p = &QPixmap(picture_path);
ui.image1->setPixmap(*p);
delete p;*/
}
void TestDir::on_signal_show_image2(const QString &picture_path)
{
...............................
ui.image2->clear();
...............................
IplImage* imageCVShow = ....
cvCvtColor(imageCVShow, imageCVShow, CV_BGR2RGB);
image = QImage((const unsigned char*)imageCVShow->imageData, imageCVShow->width, imageCVShow->height, QImage::Format_RGB888);
image = image.scaled(image.size(), Qt::KeepAspectRatio);
ui.image2->setPixmap(QPixmap::fromImage(image)); //吃内存!
cvReleaseImage(&imageCVShow);
}
if (!QPixmapCache::find("user_defined_image_name", &image)) {
image.load(picture_path);
QPixmapCache::insert("user_defined_image_name", image);
}