分享一个php实现的图片处理类,可以设置文字水印与图片水印等,有需要的朋友参考下。

本节分享一个图片处理类,简单实现了文字水印与图片水印,是学习php图片操作的小例子。

代码:

image = new Imagick($tplImage);

}

/**

* 设置文本属性

*

* @param string $sText text to print on the image (i.e. Buy 1 Get 1 Free )

* @param integer $x text to print from x codinates

* @param integer $y text to print from y codinates

* @param integer $font text size for printing

* @param string $color text color for print

* @param integer $text_anglerotate text from 0-360

* @param string $font_style installed font name and path (i.e /usr/share/fonts/liberation/LiberationSans-Italic.ttf)

* @Creating an array of text properties

*/

public function setText($sText, $x = 0, $y = 0, $font = 12, $color = 'black', $text_angle = 0, $font_style = './LiberationSans-Italic.ttf') {

$this->aTextData[] = array("text"=>$sText, "font_color"=>$color, "font_size"=>$font,"x"=>$x,"y"=>$y, "font_style"=>$font_style,

"text_angle"=>$text_angle);

}

/**

* 设置图片属性

*

* @param string $sImage text to print on the image (i.e. /home/httpd/images/brand.jpg )

* @param integer $x text to print from x codinates

* @param integer $y text to print from y codinates

* @param integer $text_anglerotate text from 0-180

* @Creating an array of image properties

*/

public function setImage($sImage, $x = 0, $y = 0, $angle=0) {

$this->aImageData[] = array("image"=>$sImage, "x"=>$x, "y"=>$y, "angle"=>$angle);

}

/**

* 从文字和图片属性生成最终图像

*

* @param string $sImage Output image Name

* @return boolean returns TRUE on success and FALSE upon failure

*/

public function generateImage($sImage) {

foreach ($this->aImageData as $aImageValue) {

if (!trim($aImageValue["image"])) {

$sError = 1;

break;

}

$oImg = new Imagick($aImageValue["image"]);

$oImg->rotateImage("transparent", $aImageValue["angle"]);

$this->image->compositeImage($oImg, $oImg->getImageCompose(), $aImageValue["x"], $aImageValue["y"]);

unset($oImg);

}

foreach ($this->aTextData as $aTextValue){

if (!trim($aTextValue['text'])) {

$sError = 2;

break;

}

$oDraw = new ImagickDraw();

$oDraw->setFont($aTextValue['font_style']);

$oDraw->setFontSize($aTextValue['font_size']);

$oDraw->setFillColor($aTextValue['font_color']);

$this->image->annotateImage($oDraw, $aTextValue['x'], $aTextValue['y'], $aTextValue['text_angle'], $aTextValue['text']);

unset($oDraw);

}

if ($sError == 1) {

exit("Unable to generate Image. Check \"setImage\" Properties");

}elseif ($sError == 2) {

exit("Unable to generate Image. Check \"setText\" Properties");

}

$this->image->setImageFormat("jpg");

return $this->image->writeImage($sImage);

}

}

?>

2,调用示例:

setText("This is one", 350, 20, 22, "red");

$oImageMagick->setText("This is Two", 50, 50, 25, "blue","50");

$oImageMagick->setImage("brand.jpg", 160, 90, 0);

$oImageMagick->setImage("tata.jpg", 160, 20);

$newImagename = "mynewImage.jpg";

$oImageMagick->generateImage($newImagename);

?>

php图片是啥,php图片处理类(附实例)相关推荐

  1. glide工具类。加载显示原图片,显示圆角图片,gif图标显示

    依赖 //支持gif 的控件 implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.1' 工具方法 private void up ...

  2. php 图片保存到本地文件,php 远程图片保存到本地的函数类

    php 远程图片保存到本地的函数类 发布于 2014-10-06 14:15:40 | 78 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Pr ...

  3. Java 图片添加数字暗水印工具类

    Java 图片添加数字暗水印工具类. package cnki.thesis.common.utils;import org.opencv.core.*;import java.util.ArrayL ...

  4. Java 图片添加文字或者logo水印(附代码) | Java工具类

    目录 前言 环境依赖 代码 总结 前言 本文提供java工具类,给图片添加文字或者logo图片的水印效果. 环境依赖 工具库maven依赖添加 <dependency><groupI ...

  5. html解析图片url,并用继承Thread类的多线程下载

    html解析图片url,并用继承Thread类的多线程下载 pom依赖 Java代码 把对应网页的img元素,通过继承Thread类的多线程下载下来. pom依赖 <dependencies&g ...

  6. Java之~ 上传 图片压缩,阿里图片压缩,图片旋转方法工具类

    需要的jar jai_codec-1.1.3.jar,jai_core-1.1.3.jar,simpleimage-1.2.0.jar,metadata-extractor-2.3.1.jar(旋转时 ...

  7. 【java工具类-抓取图片】正则抓取内容里面的j图片,正则,图片替换格式处理图片java处理文章内容里面的图片格式化工具类,能够最大限度的自动是被图片IMG标签和java使用正则抓取图片说明

    目录 1.java处理图片格式自动抓取格式案例 java代码运行案例: 自动抓取的结果如下 2.java代码去除HTML的格式进行返回无格式文本代码 可以经过正则过滤掉,里面的HTML格式,删除空格, ...

  8. 【android】实现图片的三级缓存。工具类

    本文主要分析以下几点 为什么使用三级缓存 什么是三级缓存 三级缓存原理 代码的具体实现:有注释 工具类使用方法 github分享地址 1.为什么使用三级缓存 如今的 Android App 经常会需要 ...

  9. 不固定图片宽高瀑布流_类百度图片的固定高度横向瀑布流js方法及纯css实现的方法记录...

    微信图片_20190117105118.png 纯css实现代码: Document div{ display: flex;/*显示模式设置为弹性盒子*/ flex-wrap: wrap;/*进行强制 ...

最新文章

  1. [BZOJ1503]郁闷的出纳员(Splay)
  2. windows系统上使用openssh client连接远程Linux服务器的日志分析
  3. iOS开发之通知中心(NSNotificationCenter)
  4. web前端的进阶路线大剖析!初学者如何迅速“升级”!
  5. 原生CSS设置网站主题色—CSS变量赋值
  6. redis copy-on-write机制
  7. matlab多行注释和figure图像的title使用变量和下划线
  8. 计算机msvcp100.dll,msvcp100.dll丢失怎样修复
  9. 思科无线POC测试要包含哪些测试项
  10. Serial Box for Mac(软件序列号查询工具)
  11. 基于动态阈值、灰色世界、镜面法的自动白平衡
  12. ESlint-airbnb配置
  13. android高德地图api驾车路线规划,驾车路径规划-调起高德地图-示例中心-JS API 示例 | 高德地图API...
  14. 操作系统ahci aci ide模式
  15. 软件著作权一次下证快速下载教程
  16. 阿里云域名解析网络和服务架构设计(二) 之云解析DNS-全局流量管理
  17. 关于vim替换中遇到特殊字符的转义处理
  18. 巴菲特参与打新的Snowflake,成史上IPO规模最大的软件服务公司
  19. HTML 基本概念梳理——涉及HTML简要发展史、基本标签
  20. 【无标题】lead与lag函数

热门文章

  1. MFC中字符间相互转换总结
  2. 使用 Vue + Flask 搭建单页应用
  3. bash特性以及shell脚本简介
  4. CSharpGL(39)GLSL光照示例:鼠标拖动太阳(光源)观察平行光的漫反射和镜面反射效果...
  5. MyEclipse_15字体设置
  6. JSONP - 跨域AJAX
  7. PhpStorm 配置Xdebug
  8. 在linux桌面死掉时kill之
  9. [转]XNA 3.1 转换到 XNA4.0 的备忘录
  10. web性能测试分析-工具篇 (转载)