gpt4 book ai didi

c++ - 使用 Magick++ 将蒙太奇保存到 Blob

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:29:03 25 4
gpt4 key购买 nike

我有一个蒙太奇,我可以在指定目标路径时将它保存到磁盘。但是,当我尝试将它保存到一个 Blob 时,它失败了。

我是否缺少某些设置?

版本:ImageMagick 6.8.2-5 2013-02-05 Q8

机器:Windows 7 x64

编辑:异常(exception)情况:

Unhandled Exception: System.Runtime.InteropServices.SEHException: External component has thrown an exception.
at Magick.throwException(_ExceptionInfo* )
at Magick.writeImages<class std::_List_iterator<class std::_List_val<class Magick::Image,class std::allocator<class Magick::Image> > > >
(_List_iterator<std::_List_val<Magick::Image\,std::allocator<Magick::Image> > > first_, _List_iterator<std::_List_val<Magick::Image\,std::allocator<Magick::Image
> > > last_, Blob* blob_, Boolean adjoin_) in d:\dev\projects\ecs\layers\tools\imagemagicknet\include8\magick++\stl.h:line 2562

The source images

代码:

   void test()
{
list<Magick::Image> sourceImageList;
Magick::Image image;

image.read("d:\\imtest\\Montage\\1.jpg");
sourceImageList.push_back(image);
image.read("d:\\imtest\\Montage\\2.jpg");
sourceImageList.push_back(image);
image.read("d:\\imtest\\Montage\\3.jpg");
sourceImageList.push_back(image);

Magick::Color color("rgba(0,0,0,0)");

Montage montageSettings;
montageSettings.geometry("100x100-0-0");
montageSettings.shadow(true);
montageSettings.backgroundColor(color);
montageSettings.tile( "3x1" );

list<Magick::Image> montagelist;
Magick::montageImages( &montagelist, sourceImageList.begin(), sourceImageList.end(), montageSettings);

// This will give the expected result
Magick::writeImages(montagelist.begin(), montagelist.end(), "d:\\imtest\\Montage\\out.png");

Magick::Blob *b = new Magick::Blob();
// This will throw an exception mentioned above
Magick::writeImages(montagelist.begin(), montagelist.end(), b);
Magick::Image imageFromBlob(*b);
imageFromBlob.write("d:\\imtest\\Montage\\outBlob.png");

}

最佳答案

您应该为异常添加 try/catch block ,以便捕获并诊断异常(例如,将异常打印到 stderr 以便可以看到“什么”字符串)。无法诊断未处理的异常。

[Magick::Exception] 中详细介绍了处理从 Magick++ 抛出的异常的正确方法。 1

关于c++ - 使用 Magick++ 将蒙太奇保存到 Blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14828486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com