我有一个 base64 编码数据。例如data:image/png;base64,R0lGODlhIA...
,我想用 Magick++ 将其转换为 PNG。这是我的代码:
std::string data = "data:image/png;base64,R0lGODlhIA...";
std::string output; //this is the output PNG data
Magick::Blob input_blob((void*) data.c_str(), data.length());
Magick::Image input_image;
input_image.magick("INLINE");
input_image.read(input_blob);
Magick::Blob output_blob;
input_image.write(&output_blob, "PNG");
output.assign((char*) output_blob.data(), output_blob.length());
代码可以工作,但是当base64-encode数据很大时,代码行 input_image.read(input_blob);
会崩溃。
谁能告诉我代码是否正确或如何在magick++中将base64编码数据转换为PNG?
任何帮助表示赞赏!