我似乎找不到从 C++ 中的 iostream stream_buffer 初始化 ImageMagick Magick++ 对象的正确语法/方法的示例。
我正在尝试使用来自 aws sdk getObject 的结果,它似乎返回一个流缓冲区以推送到 ImageMagick 以通过 lambda 按需创建缩略图。
我用来检索对象的 aws-sdk-cpp 中的相关代码示例:
auto get_object_outcome = s3_client.GetObject(object_request);
if (get_object_outcome.IsSuccess())
{
// Get an Aws::IOStream reference to the retrieved file
auto &retrieved_file = get_object_outcome.GetResultWithOwnership().GetBody();
// read the object's contents and write to a file
std::ofstream output_file(file_name, std::ios::binary);
output_file << retrieved_file.rdbuf();
return true;
}
else
{
auto error = get_object_outcome.GetError();
std::cout << "ERROR: " << error.GetExceptionName() << ": "
<< error.GetMessage() << std::endl;
return false;
}
任何帮助表示赞赏 - c++ 新手,所以我还不精通转换更高级的数据格式,例如流/blob/缓冲区。