用ImageMagick/MagickWand在图片上添加文字
来源:互联网 发布:网络诈骗1500判刑多久 编辑:程序博客网 时间:2024/05/17 10:24
要求很简单,在图片上添加文字
最后通过ImageMagick实现了(WagicWand是它的C的API)。代码如下. 其实不算复杂,就是中文的处理调了一阵。
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "windows.h"
#include <wand/magick_wand.h>
int main(int argc,char **argv)
{
MagickWand *m_wand = NULL;
int width,height;
MagickWandGenesis();
m_wand = NewMagickWand();
// Read the image
MagickReadImage(m_wand,"1.jpg");
// Get the image's width and height
width = MagickGetImageWidth(m_wand);
height = MagickGetImageHeight(m_wand);
printf("Input: width=%d, height=%d\n", width, height);
DrawingWand *d_wand = NULL;
d_wand = NewDrawingWand();
DrawSetTextEncoding(d_wand, "UTF8"); //设置编码
MagickBooleanType b = DrawSetFont (d_wand, "STHUPO") ; //华文琥珀字体。当然可以用Simsun,simhei等等
if (b == MagickFalse) {
printf("Font load error.\n");
return -1;
}
DrawSetFontSize(d_wand, 24); //字号大小
// Now draw the text。编码必须转换!这个是example里面没有的。我也调了半天。
wchar_t* wstr=_T("测试");
int size=WideCharToMultiByte(CP_UTF8,0, wstr,-1,NULL,0,NULL,NULL);
char *ch=new char[size+1];
if(!WideCharToMultiByte(CP_UTF8,0, wstr,-1,ch,size,NULL,NULL)) {
return false;
}
DrawAnnotation(d_wand, 25, 180, (const unsigned char*)ch); //把文字写到画布上
MagickDrawImage(m_wand,d_wand); //把画布应用到图片上
MagickWriteImage(m_wand,"logo_resize.jpg"); //写文件
if(m_wand) { //清理工作
m_wand = DestroyMagickWand(m_wand);
}
MagickWandTerminus();
printf("Finished.\n");
return(0);
}
结果图:
- 用ImageMagick/MagickWand在图片上添加文字
- imagemagick的官方php图片插件magickwand在Windos上的安装
- 在图片上添加文字
- 在图片上添加文字
- 在图片上添加文字和图片
- ImageMagick--往图片上写文字
- flex技术-在图片上添加文字
- flex技术-在图片上添加文字
- velocity 在图片上添加文字
- OpenCV---在图片上添加文字
- Android ViewBadger --- 在图片上添加文字
- [C#] 在图片上添加文字
- android在图片上添加文字
- 怎么在gif图片上添加文字
- PHP IMAGEMAGICK MAGICKWAND 使用
- 图片上添加文字
- 图片上添加文字
- 图片上添加文字
- linux常用命令杂谈
- 16周任务二 salary 文件的操作
- hdu 1506 Largest Rectangle in a Histogram DP 单调队列
- 使用Python将文本转为图片
- 错误信息
- 用ImageMagick/MagickWand在图片上添加文字
- 16周任务三 score 学生类的文件操作
- jquery获取页面上复选框的值
- java线程系列---线程范围内共享变量(一)
- Bash ------ Keyword Variable Memo
- 寒冰老师的力作——vsFTP服务器·磁盘配额管理
- Android之SurfaceView学习
- 有空应该多看看书
- poj2250 - Compromise