C++ 使用Magick++;
我正在尝试使用Magick++在文本下添加红色背景。我的简单代码是:C++ 使用Magick++;,c++,imagemagick,magick++,C++,Imagemagick,Magick++,我正在尝试使用Magick++在文本下添加红色背景。我的简单代码是: Magick::Image img( Geometry(800,200), Color("white") ); img.strokeWidth(12); img.font("Helvetica"); img.fontPointsize(font_size); img.draw(Magick::DrawableTextUnderColor(Magick::Color("red"))); img.draw(Magick::Dr
Magick::Image img( Geometry(800,200), Color("white") );
img.strokeWidth(12);
img.font("Helvetica");
img.fontPointsize(font_size);
img.draw(Magick::DrawableTextUnderColor(Magick::Color("red")));
img.draw(Magick::DrawableText(25, 25, "Some text") );
img.write("file.png");
它可以打印文本,但文本没有红色背景。目前的结果是:
但是,我希望文本有背景,类似这样的东西(例如购物的背景照片)
这应该行得通。不要一个接一个地画东西,而是列一个可画项目的列表,然后一次画出所有东西:
list<Magick::Drawable> to_draw;
to_draw.push_back(Magick::DrawableText(25, 25, "Some text"));
to_draw.push_back(Magick::DrawableTextUnderColor("red"));
img.draw(to_draw);
要绘制的列表;
向后推(Magick::DrawableText(25,25,“一些文本”);
向后推(Magick::DrawableTextUnderColor(“红色”));
img.draw(to_draw);
这应该行得通。不要一个接一个地画东西,而是列一个可画项目的列表,然后一次画出所有东西:
list<Magick::Drawable> to_draw;
to_draw.push_back(Magick::DrawableText(25, 25, "Some text"));
to_draw.push_back(Magick::DrawableTextUnderColor("red"));
img.draw(to_draw);
要绘制的列表;
向后推(Magick::DrawableText(25,25,“一些文本”);
向后推(Magick::DrawableTextUnderColor(“红色”));
img.draw(to_draw);
- 这是你问题的解决方案
Image img(Geometry(800, 800), Color("white")); img.font("Helvetica"); img.fillColor(Color("firebrick")); img.strokeColor(Color("red")); img.draw(Magick::DrawableText(25, 25, "Some text") ); img.write("text.png");
- 这是你问题的解决方案
Image img(Geometry(800, 800), Color("white")); img.font("Helvetica"); img.fillColor(Color("firebrick")); img.strokeColor(Color("red")); img.draw(Magick::DrawableText(25, 25, "Some text") ); img.write("text.png");
std::vector
而不是std::list
我对该代码有一个问题:“错误:没有匹配的成员函数来调用‘draw’”。ImageMagick 7.0.5,OS X 10.12.3它应该是std::vector
而不是std::list