首页 > 解决方案 > 使用exe文件时写QImage::scaled: Image is an null image when processing jpg

问题描述

在qt中编译时,没有这样的问题,但是如果我在exe文件中编译,除了jpg之外的所有格式都可以。JPG 返回错误“QImage::scaled: Image is an null image when processing jpg”

代码:

char type_cpy[4] ;
strcpy(type_cpy, picture.type.toStdString().c_str());

QString path(picture.way+"Resized");
QDir dir;
if(!dir.exists(path))
    dir.mkpath(path);

QString link_to_picture = picture.way + picture.name;
QString link = picture.way+"Resized"+"\\" + picture.full_name;

QRect rect(0, 0, picture.size.width, picture.size.height);
QImage original(link_to_picture);

if(picture.mode == "Crop" || picture.mode == "crop")
{
    QImage cropped = original.copy(rect);
    cropped.save(link, type_cpy, -1);
}
else if(picture.mode == "Exact" || picture.mode == "exact")
{
    QImage scaled = original.scaled(picture.size.width, picture.size.height, Qt::KeepAspectRatio);
    scaled.save(link, type_cpy, -1);
}

标签: c++qtscaleqimage

解决方案


推荐阅读