0
我有一个base64编码数据。例如data:image/png;base64,R0lGODlhIA...
,我想用Magick ++将它转换成PNG。这是我的代码:如何将base64-encode图像转换为imagemagick中的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编码的数据是非常大的,代码行input_image.read(input_blob);
会崩溃。
谁能告诉我代码是否正确或如何将base64编码数据转换为magick ++中的PNG?
任何帮助表示赞赏!
Th谢谢你,我使用第一种方法,它的工作原理。 – jseanj