void test_wand()
{
char* inputPath =(char*) "1.png";
char* outputPath =(char*) "111.png";
char* text = (char*) "HELLO WORLD";
MagickWand *magick_wand;
DrawingWand *drawing_wand;
PixelWand *pixel_wand;
// 初始化 MagickWand
MagickWandGenesis();
magick_wand = NewMagickWand();
// 读取输入图片
if (MagickReadImage(magick_wand, inputPath) == MagickFalse) {
//std::cerr << "Failed to read image: " << inputPath << std::endl;
return;
}
// 创建 PixelWand 并设置字体颜色
pixel_wand = NewPixelWand();
PixelSetColor(pixel_wand, "red");
// 创建 DrawingWand 并设置文字属性
drawing_wand = NewDrawingWand();
DrawSetFont(drawing_wand, "Arial");
DrawSetFontSize(drawing_wand, 36);
DrawSetFillColor(drawing_wand, pixel_wand);
// 设置文字位置
DrawAnnotation(drawing_wand, 100, 100, reinterpret_cast<const unsigned char*>(text));
// 将文字绘制到图片上
MagickDrawImage(magick_wand, drawing_wand);
// 保存输出图片
if (MagickWriteImages(magick_wand, outputPath, MagickTrue) == MagickFalse) {
//std::cerr << "Failed to write image: " << outputPath << std::endl;
}
// 清理
if (magick_wand) magick_wand = DestroyMagickWand(magick_wand);
if (drawing_wand) drawing_wand = DestroyDrawingWand(drawing_wand);
if (pixel_wand) pixel_wand = DestroyPixelWand(pixel_wand);
// 终止 MagickWand
MagickWandTerminus();
}
ImageMagick 图片添加文字
于 2024-08-21 16:18:30 首次发布