0

我正在尝试使用 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");

它打印文本 OK,但文本没有红色背景。目前的结果是这样的:

在此处输入图像描述

但是,我想有背景的文字,像这样(背景照片购物的例子)

在此处输入图像描述

4

2 回答 2

2

这应该有效。与其一一绘制,不如列出一个可绘制项目,然后一次绘制所有内容:

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);
于 2015-07-01T02:44:36.950 回答
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");
    
于 2016-01-16T12:39:03.560 回答