数码资讯
PHP使用imagick生成图片的方式
本文阐述了PHP使用imagick生成图片的方式。分享给你供你参考。以下是如下: 这里使用imagick生成图片 为解决图片中汉字的书写问题,请添加支持的字体。 公共功能getpic(){ 头('content-type:文本/ HTML;字符集= UTF-8); 为文本= '屯河(sh600737
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
本文阐述了PHP使用imagick生成图片的方式。分享给你供你参考。以下是如下:
这里使用imagick生成图片
为解决图片中汉字的书写问题,请添加支持的字体。
公共功能getpic(){
头('content-type:文本/ HTML;字符集= UTF-8);
为文本= '屯河(sh600737 '); / /中粮屯河(sh600737)
美元'305988103123zczcxzas的水印=;
$ len = strlen($文本);
宽度= 10.5 *($($ len-8)/ 3 * 2 + 8);
身高= 26;
imagick美元=新imagick();
color_transparent美元=新imagickpixel(' # ffffff '); / /透明色
imagick美元->景新(美元美元美元的宽度,高度,color_transparent,'jpg);
/ / $ imagick -> borderimage(' # 000000 ',1, 1);
美元'font_size } = 12的风格{;
{ } =美元'fill_color风格的# 000000;
为($民= strlen($水印);$民> = 0;为民--){
美元-> add_text($ imagick,substr($水印,$num,1),2 +($民* 8),30, 1,$式);
美元-> add_text($ imagick,substr($水印,$num,1),2 +($民* 8),5, 1,$式);
}
返回;
美元'font_size } = 20的风格{;
{ } =美元'fill_color风格的# FF0000;
{ } =美元'font风格,或将msyh. TTF '; / / /微软雅黑字体中文乱码的解决方案
/ /文字= mb_convert_encoding美元($文本,'utf-8 '); / / (GBK编码
美元-> add_text(imagick美元,2, 20, 0美元美元,文字风格);
头('content-type:'。Strtolower($ imagick -> getimageformat()));
echo $ imagick -> getimagesblob();
}
添加水印文本
公共功能add_text(imagick美元美元美元,文本,x = 0,y=0美元,0美元美元的角=,=阵列式())){
为画=新(imagickdraw);
如果(isset($风格{ 'font ' }))
为绘制->设置字体($风格'font{ });
If (isset ($style {'font_size'}))
绘制-> setfontsize美元($风格'font_size{ });
如果(isset($风格{ 'fill_color ' }))
绘制-> setfillcolor美元($风格'fill_color{ });
如果(isset($风格{ 'under_color ' }))
绘制-> settextundercolor美元($风格'under_color{ });
如果(isset($风格{ 'font_family ' }))
绘制-> setfontfamily美元($风格'font_family{ });
如果(isset($风格{ 'font ' }))
为绘制->设置字体($风格'font{ });
为绘制-> settextencoding('utf-8);
如果(strtolower(($ imagick -> getimageformat))= = 'gif){
Foreach ($imagick as $frame) {
框架- > annotateimage美元(合画,X,Y元,元,角,为文本);
}
{人}
imagick美元-> annotateimage(画X美元,美元,美元,美元,美元,角度,文本);
}
}
希望本文能对大家的PHP程序设计有所帮助。
这里使用imagick生成图片
为解决图片中汉字的书写问题,请添加支持的字体。
公共功能getpic(){
头('content-type:文本/ HTML;字符集= UTF-8);
为文本= '屯河(sh600737 '); / /中粮屯河(sh600737)
美元'305988103123zczcxzas的水印=;
$ len = strlen($文本);
宽度= 10.5 *($($ len-8)/ 3 * 2 + 8);
身高= 26;
imagick美元=新imagick();
color_transparent美元=新imagickpixel(' # ffffff '); / /透明色
imagick美元->景新(美元美元美元的宽度,高度,color_transparent,'jpg);
/ / $ imagick -> borderimage(' # 000000 ',1, 1);
美元'font_size } = 12的风格{;
{ } =美元'fill_color风格的# 000000;
为($民= strlen($水印);$民> = 0;为民--){
美元-> add_text($ imagick,substr($水印,$num,1),2 +($民* 8),30, 1,$式);
美元-> add_text($ imagick,substr($水印,$num,1),2 +($民* 8),5, 1,$式);
}
返回;
美元'font_size } = 20的风格{;
{ } =美元'fill_color风格的# FF0000;
{ } =美元'font风格,或将msyh. TTF '; / / /微软雅黑字体中文乱码的解决方案
/ /文字= mb_convert_encoding美元($文本,'utf-8 '); / / (GBK编码
美元-> add_text(imagick美元,2, 20, 0美元美元,文字风格);
头('content-type:'。Strtolower($ imagick -> getimageformat()));
echo $ imagick -> getimagesblob();
}
添加水印文本
公共功能add_text(imagick美元美元美元,文本,x = 0,y=0美元,0美元美元的角=,=阵列式())){
为画=新(imagickdraw);
如果(isset($风格{ 'font ' }))
为绘制->设置字体($风格'font{ });
If (isset ($style {'font_size'}))
绘制-> setfontsize美元($风格'font_size{ });
如果(isset($风格{ 'fill_color ' }))
绘制-> setfillcolor美元($风格'fill_color{ });
如果(isset($风格{ 'under_color ' }))
绘制-> settextundercolor美元($风格'under_color{ });
如果(isset($风格{ 'font_family ' }))
绘制-> setfontfamily美元($风格'font_family{ });
如果(isset($风格{ 'font ' }))
为绘制->设置字体($风格'font{ });
为绘制-> settextencoding('utf-8);
如果(strtolower(($ imagick -> getimageformat))= = 'gif){
Foreach ($imagick as $frame) {
框架- > annotateimage美元(合画,X,Y元,元,角,为文本);
}
{人}
imagick美元-> annotateimage(画X美元,美元,美元,美元,美元,角度,文本);
}
}
希望本文能对大家的PHP程序设计有所帮助。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。