C++ Magick++;合成算法中的内存泄漏
我有一个在Linux中模拟Windows10后台淡入淡出过渡的程序。最初我是通过调用ImageMagickC++ Magick++;合成算法中的内存泄漏,c++,memory,imagemagick,magick++,C++,Memory,Imagemagick,Magick++,我有一个在Linux中模拟Windows10后台淡入淡出过渡的程序。最初我是通过调用ImageMagickcomposite-blend命令来实现这一点的,但是为了消除System()调用,我编写了以下函数来模拟ImageMagick命令: A=Image(newpic); B=Image(picpath+".cache/resizeOld"+to_string(S)+".jpg");
composite-blend
命令来实现这一点的,但是为了消除System()
调用,我编写了以下函数来模拟ImageMagick命令:
A=Image(newpic);
B=Image(picpath+".cache/resizeOld"+to_string(S)+".jpg");
if(i<=steps)
{
stream<<std::hex<<int(i*(255/steps));
streambuffer=stream.str();
if(streambuffer.length()==1)
{
streambuffer="0"+streambuffer;
}
color=streambuffer;
streambuffer="";
stream.str("");
}
else
{
color="FF";
}
maskA=Image(Geometry(bgW,bgH),Color("#"+color+color+color));
maskB=Image(Geometry(bgW,bgH),Color("#"+invertHex(color)+invertHex(color)+invertHex(color)));
A.composite(maskA,0,0,Magick::CopyAlphaCompositeOp);
B.composite(maskB,0,0,Magick::CopyAlphaCompositeOp);
compResult=A;
compResult.composite(B,0,0,Magick::BlendCompositeOp);
compResult.write((picpath+".cache/transition"+to_string((int)i)+".jpg").c_str());
A=图像(newpic);
B=图像(picpath+“.cache/resizeOld”+到_字符串+“.jpg”);
if(I)类Image的结构是什么?@srt1104你到底是什么意思?据我所知,pt是一个由Magick++库定义的对象。