|
分享一个php实现的图片处理类,可以设置文字水印与图片水印等,有需要的朋友参考下。
本节分享一个图片处理类,简单实现了文字水印与图片水印,是学习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;
/**
* 构造函数
*
* @param string $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);
}
/**
* 设置文本属性
*
* @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,调用示例:
HMCSS通用企业网站系统1.0
下载
HMCSS是由河马工作室全新开发的通用的企业网站系统,是PHP+MYSQL的架构,采用DIV+CSS的方式进行网页布局,网站的功能包括有:企业简介,图片展示幻灯,产品图片滚动,企业荣誉,实力展示,产品分类及展示,网上招聘,在线留言,联系我们,在线地图等内容,另外还带有完整的管理后台,如网站SEO优化关键词等都可以自由设定。 HMCSS目前发布的是1.0版本,就是上述的这些内容。后面我们还要加上产品
<?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);
?> |
0
0
相关文章
php实现班级通信录怎么导入带图片_php导入图片存通信录【步骤】
PHP中User类登录状态传递问题的解决方案
如何安全校验 Base64 图像上传前的规格参数
如何在 Vue.js 中正确上传图片文件到 Symfony 后端并保存
php怎么发送邮件_PHPMailer库发送带附件邮件的说明【说明】
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。
797
2026.02.13
本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。
272
2026.02.13
本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。
144
2026.02.13
本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。
25
2026.02.13
本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。
92
2026.02.13
本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。
15
2026.02.12
本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。
717
2026.02.12
本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。
64
2026.02.12
热门下载
相关下载
精品课程
共28课时 | 10.1万人学习
共10课时 | 1.8万人学习
共10课时 | 4.3万人学习
最新文章



