首页 > 编程 > PHP > 正文

php使用Imagick生成图片的方法

2020-03-22 17:59:53
字体:
来源:转载
供稿:网友
本文实例讲述了php使用Imagick生成图片的方法。分享给大家供大家参考。具体如下: 这里使用Imagick 生成图片
解决了图片写中文文字乱码问题,添加支持的字体 html' target='_blank'>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 $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教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表