Imagick添加文字和图片的方法
<pre>
<?php $image = new Imagick(); $image->readImage("/home/www/wordpress/1212/p1_bg.png");

$watermark = new Imagick();

$watermark->readImage("/home/www/wordpress/1212/2.png");
/*$watermark->scaleImage(750, 1206, true); */ //放到等比例按照宽度缩小图片 按照
$image->compositeImage($watermark, imagick::COMPOSITE_OVER, 0, 0);

$text = new Imagick();
$text>newImage(750, 1206, 'none'); 这个是包含文字的外面的容器 类似div
$text>setImageFormat('png');
$draw = new ImagickDraw();
$draw>setFont ('fanzhengdahei.ttf');//设置中文字体 可以解决中文乱码问题
/*$draw-&gt;setTextAlignment(1);*/ //1 从文字的左下方开始计算的 2 从文字中下来计算 3 从文字右下来计算 默认为1
$draw>setFillColor(new ImagickPixel('#f00'));
$draw>setFontSize(50);
$draw->;annotation(100, 60, 'welcome');
$draw>annotation(100, 80, 'welcome1'); //换行写法

$draw1 = new ImagickDraw();
$draw1>setFont ('fanzhengdahei.ttf');//设置中文字体 可以解决中文乱码问题
/*$draw>setTextAlignment(1);*/ //1 从文字的左下方开始计算的 2 从文字中下来计算 3 从文字右下来计算 默认为1
$draw1>setFillColor(new ImagickPixel('#f00'));
$draw1>setFontSize(50);
$draw1>annotation(400, 360, '啦啦啦啦啦啦');

$text->drawImage($draw);
$text->drawImage($draw1);

$image>compositeImage($text, imagick::COMPOSITE_OVER, 0, 0);

w
</pre>
ps:文字之间加间距 直接打空格就行了

每行14个字 分割成数组的写法
<pre> $mubiao = '哦啦啦啦啦阿拉啊啊啊啊啊啊啊啊啊二维违法微风啊我飞挖坟挖坟挖坟服务';

$mubiaocount = mb_strlen($mubiao, 'utf-8');
$fenge = 14;
$jihang = $mubiaocount / $fenge;
$mubiaolist = array();
for ($i = 0; $i &lt;= $jihang; $i++) {
$mubiaolist[] = mb_substr($mubiao, $fenge*$i, $fenge, 'utf-8');
}
</pre>
<pre>ps:imagick实现多行文字
foreach ($mubiaolist as $k =&gt; $v) {
$draw1-&gt;annotation(170, 580+$k*40, $v);
}
</pre>
ps:多行文字 可以用属性互相覆盖的

<pre>
$draw1->setTextAlignment(3);
$draw1->annotation(350, 600, 'waf');
$draw1->setTextAlignment(1);
$draw1->annotation(177, 540, 'eee');
</pre>

ps:多行 字间距问题都用 单独给文字设置坐标来写为好

php imagick添加文字和图片的方法的更多相关文章

  1. 一种基于重载的高效c#上图片添加文字图形图片的方法

    在做图片监控显示的时候,需要在图片上添加文字,如果用graphics类绘制图片上的字体,实现图像上添加自定义标记,这种方法经验证是可行的,并且在visual c#2005 编程技巧大全上有提到,但是, ...

  2. Android GIS开发系列-- 入门季(6)GraphicsLayer添加文字与图片标签

    一.GraphicsLayer添加图片 GraphicLayer添加图片Graphic,要用到PictureMarkerSymbol,也是样式的一种.添加代码如下: Drawable drawable ...

  3. WPF中RichTextBox中添加文字的两种方法

    RichTextBox控件不同于TextBox控件,后者可以直接通过其Text属性绑定或者在后台动态添加文字. (一)使用数据绑定 <RichTextBox FontSize="12& ...

  4. vue中添加文字或图片水印

    首先引用warterMark.js,内容如下 'use strict' var watermark = (className,str,type) => { let dom = document. ...

  5. 在QLabel上同时显示文字和图片的方法

    有两种方法. 1.打开UI文件,在界面右键单击QLabel对象,选改变多信息文本 选择图片再确定,左侧问号就是图片. 2.直接在QLabel写富文本 <html><head/> ...

  6. php 使用GD库压缩图片,添加文字图片水印

    先上一个工具类,提供了压缩,添加文字.图片水印等方法: image.class.php <?php class Image { private $info; private $image; pu ...

  7. python如何在图片上添加文字(中文和英文)

    Python在图片上添加文字的两种方法:OpenCV和PIL 一.OpenCV方法 1.安装cv2 pip install opencv-python 2.利用putText方法来实现在图片的指定位置 ...

  8. python PIL图像处理-图片上添加文字

    首先需要安装库pillow cmd安装命令:pip install pillow 安装完后,编写脚本如下: from PIL import Image, ImageDraw, ImageFont de ...

  9. JAVA中生成、解析二维码图片的方法

    JAVA中生成.解析二维码的方法并不复杂,使用google的zxing包就可以实现.下面的方法包含了生成二维码.在中间附加logo.添加文字功能,并有解析二维码的方法. 一.下载zxing的架包,并导 ...

随机推荐

  1. 浏览器绘图模型的解释:renderObject、renderlayer

    先来看这幅经典的图: https://juejin.im/entry/590801780ce46300617c89b8 renderObject相当于iOS 的view renderlayer完成了一 ...

  2. (11)树莓派3 有线网卡静态IP设置

    https://www.cnblogs.com/10e-6/p/5778355.html 树莓派设置静态IP地址 首先终端输入: ifconfig 查看树莓派默认分配的动态IP地址. 图 1-4 配置 ...

  3. Cyclical Quest CodeForces - 235C (后缀自动机)

    Cyclical Quest \[ Time Limit: 3000 ms\quad Memory Limit: 524288 kB \] 题意 给出一个字符串为 \(s\) 串,接下来 \(T\) ...

  4. 参数化CSV Data Set config元件

    参数化CSV Data Set config元件 CSV Data Set config可以从指定的文件(一般是文本文件)中一行一行地提取文本内容,根据分隔符拆解这一行内容并把内容与变量名对应上,然后 ...

  5. 第03组 Alpha冲刺(3/4)

    队名:不等式方程组 组长博客 作业博客 团队项目进度 组员一:张逸杰(组长) 过去两天完成的任务: 文字/口头描述: 制定了初步的项目计划,并开始学习一些推荐.搜索类算法 GitHub签入纪录: 暂无 ...

  6. 歪国人整理的 2019 年 Java 开发路线图,值得参考!

      许多Java开发人员都希望通过某种Java成长路线图,来解答有关:该学习哪些技术,使用哪些工具以及框架之类的问题. 在此,我将向大家展示一张根据自己多年经验总结出的路线图.该路线图在保持简单可行的 ...

  7. [技术博客] win10下vagrant+centos7 rails虚拟开发机配置流程

    由于少昂早年已经在此踩过坑了,因此在这里,我们现在直接贴上他早年的博客链接:https://www.cnblogs.com/HansBug/p/7403306.html

  8. UDP丢包原因总结

    丢包检查方法 给每个UDP包编号,对比收发端的接收到的包.对于UDP协议层上的包,例如RTP包,可以从RTP包中读出包的序列号进行判断. 抓包.发送端和接收端分别抓包.linux下可以使用tcpdum ...

  9. uniapp - 文字收缩展示插件

    插件地址:https://ext.dcloud.net.cn/plugin?id=657

  10. 执行redis命令redis-trib.rb查看集群信息报错cannot load such file -- redis (LoadError)

    问题描述: 在执行redis-trib.rb命令查看集群状态的时候,报错: [aiprd@hadoop1 ~]$ redis-trib.rb check Traceback (most recent ...