32 lines
877 B
C++
32 lines
877 B
C++
#pragma execution_character_set("utf-8")
|
|
#include "SaveImage.h"
|
|
#include "QImage"
|
|
#include "QDebug"
|
|
#include "PathUtil.h"
|
|
#include "Error.h"
|
|
|
|
int save_image(const QString &base64_data, const QString &image_name)
|
|
{
|
|
int ret = EXECUTE_SUCCESS;
|
|
|
|
// 将 Base64 字符串解码为字节数组
|
|
QByteArray decoded_data = QByteArray::fromBase64(base64_data.toUtf8());
|
|
|
|
// 将字节数组转换为 QImage 对象
|
|
QImage image;
|
|
if (!image.loadFromData(decoded_data)) {
|
|
qDebug() << "Failed to load image from decoded data.";
|
|
return -1;
|
|
}
|
|
|
|
// 保存 QImage 为文件
|
|
QString output_file = PathUtil::bin_dir() + "imagePath/" + image_name + ".png";
|
|
if (image.save(output_file)) {
|
|
// qDebug() << "Image saved as" << output_file;
|
|
} else {
|
|
qDebug() << "Failed to save image.";
|
|
return -1;
|
|
}
|
|
|
|
return ret;
|
|
} |