摘要 腾兴网为您分享:php 图片处理类,智能互联,现货白银,魔方格,蜜芽宝贝等软件知识,以及海马苹果ipad,convertxtodvd,56888,电脑机器码修改,兰考在线,游戏狗,炒币软件,苏宁金融app,qq透明头像生成器,pony化妆视频,修复系统漏洞,小刀娱乐网,泉方云,qq极速浏览器,博瑞智等软件it资讯,欢迎关注腾兴网。本节分享一个图片处理类,简单实现了文字水印与图片水印,是学习php图片操作的小例子。 代码: ?php class ImageModifier { /** *实现在图片上保存文本信息 * *default is array() * *@access private...

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

代码:

<?php class ImageModifier { /** *实现在图片上保存文本信息 * *default is array() * *@access private */ var $aTextData = array(); /** *保存文本信息到图片上 * *default is array() * *@access private */ var $aImageData = array(); /** *imagick的资源标识符 * *default is FALSE * *@access private */ var $image = ""; /** *错误消息级别 * *default is 0 * *@varinteger */ var $sError = 0; /** *构造函数 * *@paramstring$tplImage template image *@access private */ public function __construct($tplImage) { // Check Imagick class exist or not if not show error. if (!class_exists("Imagick", false)) { exit("Unable to load class: Imagick\n. Imagick Image Library Missing."); } // create a object of Imagick template image $this->image = new Imagick($tplImage); } /** *设置文本属性 * *@paramstring$sTexttext to print on the image (i.e. Buy 1 Get 1 Free ) *@paraminteger$x text to print from x codinates *@paraminteger$y text to print from y codinates *@paraminteger$fonttext size for printing *@paramstring$colortext color for print *@paraminteger$text_anglerotate text from 0-360 *@paramstring$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); } /** *设置图片属性 * *@paramstring$sImage text to print on the image (i.e. /home/httpd/images/brand.jpg ) *@paraminteger$x text to print from x codinates *@paraminteger$y text to print from y codinates *@paraminteger$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); } /** *从文字和图片属性生成最终图像 * *@paramstring$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,调用示例:

<?php //调用类文件require_once "ImageModifier.class.php"; //示例$oImageMagick = new ImageModifier('template.jpg'); // Image Template on which you have to manupulate $oImageMagick->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图片_php 图片处理类相关推荐

  1. php图片生成缩略图_PHP生成图片缩略图类示例

    本文实例讲述了PHP生成图片缩略图类.分享给大家供大家参考,具体如下: class App_image_helper { protected $imgFileName; protected $imgW ...

  2. 图片加尺寸php代码,php获取图片尺寸(宽度,高度)_php

    本篇文章主要说明php获取图片尺寸(宽度,高度)的函数,即getimagesize()函数. 语法:array getimagesize( string filename [, array & ...

  3. php htaccess实现缓存,使用.htaccess进行浏览器图片文件缓存,_PHP教程

    使用.htaccess进行浏览器图片文件缓存, 对于图片类网站,每次打开页面都要重新下载图片,慢不说,还非常浪费流量.这时就需要用到缓存,强制浏览器缓存图片文件 缓存文件,提问网站访问数度,减少流量消 ...

  4. php 取oracle图片,在PHP中将图片存放ORACLE中_php

    我这里提供一个用php操纵blob字段的例子给你,希望能有所帮助! 这个例子是把用户上传的图片文件存放到BLOB中. 假设有一个表,结构如下: CREATE TABLE PICTURES ( ID N ...

  5. php如何随机显示图片,php中随机显示图片的函数代码_php

    /********************************************** * Filename : img.php * Author : freemouse http://www ...

  6. 【原】flash图片批量上传处理专用php类。

    2010年06月26日 星期六 20:00 搬离写了5年的渣度空间,这些都是文章备份. 昨天晚上写了个flash上传图片处理类. 1.使用gd库检测接收文件的格式,而非普通的后缀名或MIME格式检查. ...

  7. php图片横排,Discuz板块横排显示图片的实现方法_php技巧

    Discuz板块横排显示图片的实现方法_php技巧 到你目前在使用的模板中寻找 discuz.htm 找到这一段代码: onMouseOver="this.className='altbg1 ...

  8. 不需要任何依赖的图片加载错误处理的工具类load-image.js

    需求的诞生: 先简单介绍一下业务场景,我们的项目是一个微博舆情分析系统,可以根据用户设置的关键字监测相关微博舆情,并进行实时推送.监测范围涵盖境内和境外微博平台(境内:新浪.腾讯,境外:twitter ...

  9. php 合并图片_文字,php合并图片与文字添加到图片里的类,能够设置文字的位置...

    class wordsOnImg { /** * a.合成图片信息 复制一张图片的矩形区域到另一张图片的矩形区域 * @param [type] $bg_image [目标图] * @param [t ...

  10. java图片文件字符串jsp_将图片转成base64字符串并在JSP页面显示的Java代码

    *本事例主要讲了如下几点: * 1:将图片转换为BASE64加密字符串. * 2:将图片流转换为BASE64加密字符串. * 3:将BASE64加密字符串转换为图片. * 4:在jsp文件中以引用的方 ...

最新文章

  1. LTV 即用户生命周期价值
  2. Gitea——私有git服务器搭建详细教程
  3. 如何实现iframe(嵌入式帧)的自适应高度
  4. Acunetix WVS安全测试软件使用教程(入门级)
  5. 【Auto.js】为任何指定QQ好友点赞
  6. 2018-05-05(在小程序中使用图标)
  7. JavaScript ES2021 新特性解析
  8. 解决C++中multiple definition of问题
  9. python优化算法_Python最优化算法实战
  10. 练习Go语言-HTTP压力测试.md
  11. C# 判断电脑是否装Arcgis软件
  12. 恋恋山城 Jean de Florette (1986) 男人的野心 / 弗洛莱特的若望 / 让·德·弗罗莱特 / 水源 下一部 甘泉,玛侬...
  13. 读河南干旱帖有感而发的一天(20191006)
  14. Cramer悖论:线性代数的萌芽
  15. 京东直租瞄准租房痛点,重新定义房屋租赁行业新标准!
  16. 微信小程序中的图片处理
  17. 有关于毕业论文提纲范文
  18. 如何备份Chrome浏览器收藏夹
  19. 从RC低通滤波到卷积的理解
  20. BAT有增有减nbsp;互联网2015校园…

热门文章

  1. CTF题库实验吧分道扬镳 (注意进入正确的流程,用最短的步骤走完迷宫。)
  2. bigemap软件的优势分析
  3. STC单片机在线ISP IAP OTA
  4. js实现禁止网页缩放(Ctrl+鼠标、+、-缩放有效亲测)
  5. python暴力破解压缩包密码(python暴力破解zip压缩包)
  6. 链接思想的力量:如何将你的思维联系起来以提高你的学习和记忆能力
  7. DNS优化工具 namebench
  8. eyeBeam采用TCP传输的一个BUG
  9. 亚马逊云科技宣布Amazon Nimble Studio正式可用 云上搭建影像内容工作室仅需几小时
  10. 交互式电子沙盘数字沙盘大数据系统开发第8课