使用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 imagick icon,php Imagick 生成图片相关推荐

  1. php imagick,PHP中imagick函数的中文解释_PHP

    imagick的:: adaptiveBlurImage - 增加了自适应模糊滤镜图像 imagick的:: adaptiveResizeImage - 自适应调整图像数据依赖三角 imagick的: ...

  2. php imagick gif,php imagick生成gif动画的方法

    >php imagick生成gif动画的方法 $image=new Imagick(); $animation = new Imagick(); //建立一个对象. $animation-> ...

  3. php imagick 缩略图,PHP Imagick完美实现图片裁切、生成缩略图、添加水印,

    PHP Imagick完美实现图片裁切.生成缩略图.添加水印, 本文实例讲解了PHP使用Imagick 裁切.生成缩略图.添加水印自动检测和处理,支持gif,分享给大家供大家参考,具体内容如下 调用方 ...

  4. php imagick 图片裁切,php Imagick , 怎么使用Imagick裁切图片

    php Imagick 求助, 如何使用Imagick裁切图片 我需要 景某个PDF文档中的某一页裁切其中一部分, 生成一新的png格式的文档. gd不支持PDF格式, Imagick 支持打开pdf ...

  5. imagick php手册,imagick php的扩展的安装和使用

    简介 在php中处理图片一般都是使用自带的GD库相关的函数来处理的,功能比较有限. ImageMagick 是一个免费的创建.编辑.合成图片的软件.它可以读取.转换.写入多种格式的图片.图片切割.颜色 ...

  6. php imagick gif,php – Imagick:从动画GIF中删除帧?

    我已经浏览了 Imagick文档了一段时间,并尝试了几件事--但我没有设法做你想做的事 – 所以,我们至少有两个人找不到了干净的方式^^ 无论如何,我设法删除动画GIF图像的帧的唯一方法是创建一个新的 ...

  7. php imagick 区别,对比Imagick和Gmagick的像素迭代功能

    通常,图像处理工作都是诸如缩略图,水印之类的简单工作,不过有的时候会复杂些,比如像素迭代,本文通过一个实例对比Imagick和Gmagick的像素迭代功能: 像素数据生成代码 $data = arra ...

  8. PHP扩展插件 imagick 、PDO_MYSQL 安装

    环境准备 echo $LC_ALL echo "export LC_ALL=C" >> /etc/profile source /etc/profile yum ins ...

  9. PHP中Imagick的使用

    一.资料网站http://cn.php.net/imagick http://www.imagemagick.org/script/index.php http://www.imagemagick.o ...

最新文章

  1. SparCC的微生物网络构建示例
  2. 《Oracle系列》:oracle job详解
  3. 开发js插件之所遇--02[DOM]
  4. IOS网络编程之http请求响应篇
  5. 您必须有下列压缩分卷才能继续解压
  6. Jetty9 源码初解(2)——IO之Connection
  7. PHP Fatal error: Class 'com' not found in ... 的处理办法
  8. 资源放送丨《容灾体系建设之“独孤九式”》PPT视频
  9. scrapy异步写入mysql_scrapy之异步写入数据库
  10. 【GIS导论】实验五 缓冲区分析和网络分析
  11. 怎样更改计算机文件图标,文件夹图标怎么改?电脑更换文件夹图标的方法
  12. [转]色度抽样(4:2:0)到底是什么意思?
  13. linux查询过滤文件名后缀,在linux下搜索文件 文件名后缀
  14. git pull git_Git Pull解释
  15. Gym 102028D Keiichi Tsuchiya the Drift King(2018 ICPC 焦作站 D 题) 计算几何
  16. 痞子衡嵌入式:记录i.MXRT1060驱动LCD屏显示横向渐变色有亮点问题解决全过程(解答篇)...
  17. 六边形俄罗斯方块游戏创意
  18. jupyter没有输出直接下一行
  19. ContextSwitchDeadlock 以及 DisconnectedContext
  20. 计算机考研雷区,注意!这5个考研雷区不要踩!_考研吧

热门文章

  1. ubuntu for nvidia-drivers for AI
  2. python迭代器高级例子
  3. React数据获取为什么一定要在componentDidMount里面调用?
  4. Oracle日常巡检
  5. skynet 控制台管理使用技巧
  6. 如何证明你的性能测试结果可信?
  7. HP-UX磁带备份错误收集
  8. CSS a:hover伪类在IE6下的问题
  9. 中国剩余定理(Chinese Remainder Theorem)
  10. Automate repeatedly actions in work