我试图用magick++创建和保存一个gif,但是每次我尝试,结果都是一个带有第一个图像和没有动画的gif。什么都不管用。
writeImages似乎只将第一个图像写入gif。
我试过:
代码
int width = 300;
int height = 200;
vector<Image> frames;
for (int i=0;i<20;i++) {
Geometry newSize(width, height);
Image img(newSize, Color("black"));
img.draw({
DrawableFont("Helvetica"),
DrawablePointSize(30),
DrawableText(width / 2 + i*2, height / 2, to_string(i)),
DrawableStrokeColor(Color("white")),
DrawableFillColor(Color("blue"))
});
img.animationDelay(500);
frames.push_back(img);
}
writeImages(frames.begin(), frames.end(), "test.gif");
// Same lines according to this doc: https://www.imagemagick.org/Magick++/STL.html
Image appended;
appendImages( &appended, frames.begin(), frames.end() );
appended.write("append.gif");测试gif

附加gif

发布于 2022-06-16 10:06:41
DrawableText(width / 2, height / 2, to_string(i)),..。宽度和高度是恒定的:尝试为每个循环更改它。
https://stackoverflow.com/questions/72643969
复制相似问题