Я пишу расширение imagemagick для узла, и когда я пытаюсь сохранить BLOB-объект в буфер, я получаю Ошибка сегментации .
using Magick::Blob;
using v8::MaybeLocal;
using v8::Object;
Isolate *isolate = args.GetIsolate();
NodeMagick *obj = ObjectWrap::Unwrap<NodeMagick>(args.Holder());
Blob blob;
obj->image.write(&blob);
MaybeLocal<Object> buffer = node::Buffer::New(isolate, (char *)blob.data(), node::encoding::UTF8);
Если я распечатываю BLOB-объектЯ получаю некоторые данные, но не все ...
printf((char*)blob.data());
// Displays:
// ëPNG
Я не совсем уверен, почему это происходит.Мои данные не сохраняются полностью в BLOB-объекте?
Если я изменю obj->image.write(&blob);
на obj->image.write("out.png");
и удаляю buffer = ...
, файл будет создан и доступен для просмотра, так что мне здесь не хватает с Blob