我尝试使用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::DrawableText(25, 25, "Some text") );
img.write("file.png");
它打印文本确定,但文本没有红色背景。目前的结果是:
但是,我希望有背景的文字,像这样(背景照片购买的例子)
答案 0 :(得分:2)
这应该有效。不是一个一个地绘制东西,而是制作一个Drawable项目列表,而不是一次绘制所有内容:
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);
答案 1 :(得分:2)
以下是您的问题的解决方案,
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");