前段时间公司项目开发,需求是给淘宝图片打水印。技术总监介绍了一个关于打水印的PHP扩展,Imagick,刚开始觉得这个扩展没有什么特别之处,后来用着发现其强大。光是函数都有三四百个,官方的说明文档都是英文的,看的也是云里雾里,完全靠自己百度,摸索一点一点的拼凑起来的。不过经过三个星期的努力终于把打水印的功能给完善,上线了,心里还是挺激动的;
此项目包含的功能有:1:配合前端生成动态实时交互的图片给前端展示
$pallete = new Imagick ; // new一个新的画布对象
$pallete->newimage($width,$height,"transparent"); // 创建画布
$draw = new imagickdraw(); // new 画笔
$draw->setgravity(imagick::GRAVITY_CENTER); // 设置文本的9个位置
$draw->setfont($fontfile); // 设置字体
$draw->setfontsize($fontsize); // 设置字体大小
$draw->setfillcolor($color); // 设置字体颜色
$draw->setFillAlpha($alpha); // 设置字体透明度
$pallete->annotateImage($draw,0,0,0,$text); // 往画