C++ 使用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++在文本下添加红色背景。我的简单代码是:

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");
        

      我对该代码有一个问题:“错误:调用'draw'时没有匹配的成员函数”。ImageMagick 7.0.5,OS X 10.12.3它应该是
      std::vector
      而不是
      std::list
      我对该代码有一个问题:“错误:没有匹配的成员函数来调用‘draw’”。ImageMagick 7.0.5,OS X 10.12.3它应该是
      std::vector
      而不是
      std::list