php使用Imagick生成图片的方法


Posted in PHP onJuly 31, 2015

本文实例讲述了php使用Imagick生成图片的方法。分享给大家供大家参考。具体如下:

这里使用Imagick 生成图片
解决了图片写中文文字乱码问题,添加支持的字体

public function getPic(){
  header('Content-Type: text/html; charset=utf-8');
  $text = '中粮屯河(sh600737)';//中粮屯河(sh600737)
  $watermark = '305988103123zczcxzas';
  $len = strlen($text);
  $width = 10.5*(($len-8)/3*2+8);
  $height = 26;
  $imagick = new Imagick();
  $color_transparent = new ImagickPixel('#ffffff'); //transparent 透明色
  $imagick->newImage($width, $height, $color_transparent, 'jpg');
  //$imagick->borderimage('#000000', 1, 1);
  $style['font_size'] = 12;
  $style['fill_color'] = '#000000';
  for($num= strlen($watermark); $num>=0; $num--){
   $this->add_text($imagick,substr($watermark, $num,1), 2+($num*8), 30, 1,$style);
   $this->add_text($imagick,substr($watermark, $num,1), 2+($num*8), 5, 1,$style);
  }
  //return;
  $style['font_size'] = 20;
  $style['fill_color'] = '#FF0000';
  $style['font'] = './msyh.ttf'; ///微软雅黑字体 解决中文乱码
  //$text=mb_convert_encoding($text,'UTF-8'); //iconv("GBK","UTF-8//IGNORE",$text);
  $this->add_text($imagick,$text, 2, 20, 0,$style);
  header ( 'Content-type: ' . strtolower ($imagick->getImageFormat ()) );
  echo $imagick->getImagesBlob ();
}
// 添加水印文字
public function add_text(& $imagick, $text, $x = 0, $y = 0, $angle = 0, $style = array()) {
  $draw = new ImagickDraw ();
  if (isset ( $style ['font'] ))
   $draw->setFont ( $style ['font'] );
  if (isset ( $style ['font_size'] ))
   $draw->setFontSize ( $style ['font_size'] );
  if (isset ( $style ['fill_color'] ))
   $draw->setFillColor ( $style ['fill_color'] );
  if (isset ( $style ['under_color'] ))
   $draw->setTextUnderColor ( $style ['under_color'] );
  if (isset ( $style ['font_family'] ))
   $draw->setfontfamily( $style ['font_family'] );
  if (isset ( $style ['font'] ))
   $draw->setfont($style ['font'] );
  $draw->settextencoding('UTF-8');
  if (strtolower ($imagick->getImageFormat ()) == 'gif') {
   foreach ( $imagick as $frame ) {
    $frame->annotateImage ( $draw, $x, $y, $angle, $text );
   }
  } else {
   $imagick->annotateImage ( $draw, $x, $y, $angle, $text );
  }
}

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP的FTP学习(一)[转自奥索]
Oct 09 PHP
PHP+MYSQL开发工具及资源收藏
Jan 02 PHP
php地址引用(php地址引用的效率问题)
Mar 23 PHP
PHP微信开发之二维码生成类
Jun 26 PHP
Yii2 输出xml格式数据的方法
May 03 PHP
利用PHP如何写APP接口详解
Aug 23 PHP
php查询及多条件查询
Feb 26 PHP
PHP自定义错误处理的方法分析
Dec 19 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
Feb 15 PHP
php中file_get_contents()函数用法实例
Feb 21 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
Oct 16 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
如何使用Gitblog和Markdown建自己的博客
Jul 31 #PHP
php自定义类fsocket模拟post或get请求的方法
Jul 31 #PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
Jul 31 #PHP
PHP中filter函数校验数据的方法详解
Jul 31 #PHP
PHP代码实现爬虫记录――超管用
Jul 31 #PHP
PHP 前加at符合@的作用解析
Jul 31 #PHP
PHP查看当前变量类型的方法
Jul 31 #PHP
You might like
2个比较经典的PHP加密解密函数分享
2014/07/01 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
单独使用CKFinder选择图片的方法
2010/08/21 Javascript
Chrome Form多次提交表单问题的解决方法
2011/05/09 Javascript
extjs3 combobox取value和text案例详解
2013/02/06 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
Angular2使用Guard和Resolve进行验证和权限控制
2017/04/24 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
2017/05/11 Javascript
js模块加载方式浅析
2017/08/12 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
2018/01/04 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
2019/01/27 jQuery
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
2020/01/11 jQuery
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
2020/04/21 Javascript
讲解python参数和作用域的使用
2013/11/01 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
python3实现elasticsearch批量更新数据
2019/12/03 Python
安装PyInstaller失败问题解决
2019/12/14 Python
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
运动会致辞稿50字
2014/02/04 职场文书
前厅收银主管岗位职责
2014/02/04 职场文书
六查六看自查材料
2014/02/17 职场文书
主题团日活动总结
2014/06/25 职场文书
庆祝新中国成立65周年“向国旗敬礼”网上签名寄语
2014/09/27 职场文书
2014年小学英语教师工作总
2014/12/03 职场文书
学前班学生评语
2014/12/29 职场文书
出纳试用期自我评价
2015/03/10 职场文书
旅游投诉信范文
2015/07/02 职场文书
男方家长婚礼答谢词
2015/09/29 职场文书
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS