kingcms php,KINGCMS PHP 支持添加水印
我晕没保存就传上去了
函数这个
function setWater($imgSrc,$markImg,$markText,$TextColor,$markPos,$fontType,$markType)
{
$srcInfo = @getimagesize($imgSrc);
$srcImg_w = $srcInfo[0];
$srcImg_h = $srcInfo[1];
switch ($srcInfo[2])
{
case 1:
$srcim =imagecreatefromgif($imgSrc);
break;
case 2:
$srcim =imagecreatefromjpeg($imgSrc);
break;
case 3:
$srcim =imagecreatefrompng($imgSrc);
break;
default:
die("不支持的图片文件类型");
exit;
}
if(!strcmp($markType,"img"))
{
if(!file_exists($markImg) || empty($markImg))
{
return;
}
$markImgInfo = @getimagesize($markImg);
$markImg_w = $markImgInfo[0];
$markImg_h = $markImgInfo[1];
if($srcImg_w < $markImg_w || $srcImg_h < $markImg_h)
{
return;
}
switch ($markImgInfo[2])
{
case 1:
$markim =imagecreatefromgif($markImg);
break;
case 2:
$markim =imagecreatefromjpeg($markImg);
break;
case 3:
$markim =imagecreatefrompng($markImg);
break;
default:
die("不支持的水印图片文件类型");
exit;
}
$logow = $markImg_w;
$logoh = $markImg_h;
}
if(!strcmp($markType,"text"))
{
$fontSize = 16;
if(!empty($markText))
{
if(!file_exists($fontType))
{
return;
}
}
else {
return;
}
$box = @imagettfbbox($fontSize, 0, $fontType,$markText);
$logow = max($box[2], $box[4]) - min($box[0], $box[6]);
$logoh = max($box[1], $box[3]) - min($box[5], $box[7]);
}
if($markPos == 0)
{
$markPos = rand(1, 9);
}
switch($markPos)
{
case 1:
$x = +5;
$y = +5;
break;
case 2:
$x = ($srcImg_w - $logow) / 2;
$y = +5;
break;
case 3:
$x = $srcImg_w - $logow - 5;
$y = +15;
break;
case 4:
$x = +5;
$y = ($srcImg_h - $logoh) / 2;
break;
case 5:
$x = ($srcImg_w - $logow) / 2;
$y = ($srcImg_h - $logoh) / 2;
break;
case 6:
$x = $srcImg_w - $logow - 5;
$y = ($srcImg_h - $logoh) / 2;
break;
case 7:
$x = +5;
$y = $srcImg_h - $logoh - 5;
break;
case 8:
$x = ($srcImg_w - $logow) / 2;
$y = $srcImg_h - $logoh - 5;
break;
case 9:
$x = $srcImg_w - $logow - 5;
$y = $srcImg_h - $logoh -5;
break;
default:
die("此位置不支持");
exit;
}
$dst_img = @imagecreatetruecolor($srcImg_w, $srcImg_h);
imagecopy ( $dst_img, $srcim, 0, 0, 0, 0, $srcImg_w, $srcImg_h);
if(!strcmp($markType,"img"))
{
imagecopy($dst_img, $markim, $x, $y, 0, 0, $logow, $logoh);
imagedestroy($markim);
}
if(!strcmp($markType,"text"))
{
$rgb = explode(',', $TextColor);
$color = imagecolorallocate($dst_img, $rgb[0], $rgb[1], $rgb[2]);
imagettftext($dst_img, $fontSize, 0, $x, $y, $color, $fontType,$markText);
}
switch ($srcInfo[2])
{
case 1:
imagegif($dst_img, $imgSrc);
break;
case 2:
imagejpeg($dst_img, $imgSrc);
break;
case 3:
imagepng($dst_img, $imgSrc);
break;
default:
die("不支持的水印图片文件类型");
exit;
}
imagedestroy($dst_img);
imagedestroy($srcim);
}
kingcms php,KINGCMS PHP 支持添加水印相关推荐
- kingcms php,KingCMS php版网站标签模版制作教程(二)
php版的标签 king:模块名称.模型名称 这样构成,以自定义模块的文章模型为例: {king:portal.article number='*' type='*' listid='*' listi ...
- windows安装ffmpeg_免费实用的录屏工具!支持全屏、特定窗口、选定区域录制,支持添加水印、嵌入摄像头(附ffmpeg安装)...
哈喽大家好,我是菌菌~ 在线授课.游戏录制.视频编辑.网上会议--现如今,视频录制非常火爆,一款好用的视频录制工具自然必不可少. 今天,菌菌就给大家分享3款免费又好用的电脑录屏工具,一起来看看吧! w ...
- OrionX Panel for Mac(ps摄影自动化工作流插件)支持ps2021 big sur11 汉化版
为大家分享最新汉化的OrionX Panel for Mac,这是一款ps摄影自动化工作流插件,小编亲测,适用于Photoshop 2021最新版,OrionX汉化版提供了蒙版.夜景.风光.极坐标鱼眼 ...
- EasyDSS点播视频添加水印的位置与定义的位置不匹配怎么办?
去年年底我们在EasyDSS上增加了水印功能,用户可以自由定义水印的格式及位置,不管是网页端的视频还是手机端的视频,都支持添加水印,如果大家对水印功能的开发感兴趣,可以参考我们之前的EasyDSS新增 ...
- html长图转换成pdf,支持把各类文档转换成 HTML5(SVG)接口、长图片、PDF 。word转pdf、word转html5、pdf转网页html5、pdf转图片的接口...
详情请到九云图官网了解一下.https://server.9yuntu.com/yuntu/resource/website/api.html 把 OFFICE / PDF / CAD 等文档转换成 ...
- EXCEL教程 | 保存多比例尺、多尺寸地图,支持大图、加水印、保存PNG、TIF、HTML等格式
1 应用场景 前面我们介绍使用小O地图EXCEL插件版能够在EXCEL中标注地图.绘制地图.可视化数据等操作.如下截图,保存地图成果只能通过截图方式,图片大小限制,不能很好满足地图打印.出图等应用需求 ...
- 在EXCEL中添加水印
方法一.直接设置水印 在页面布局选卡中,点击"打印标题"命令会弹出页面设置选项卡,然后点击窗口上的"选项"按钮,会弹出打印机设置的窗口.(注:如果找不到下面的选 ...
- CMS介绍,以及其既往开来的展望
在中国互联网的发展历程中,一直以来默默地为中国站长提供动力的CMS厂商作出 的贡献尤其巨大,而与之成反比的是CMS厂商的生存状态依然令人担忧,由于国内站长对于免费和开源的FreeEIM尤为热衷,用户的 ...
- wps电脑版_使用好这几个功能,让你手机里的wps变身神器。
金山WPS for Android是运行于Android 平台上的全功能办公软件.用户遍布全球220多个国家和地区.完全兼容桌面办公文档,支持DOC/DOCX/WPS/XLS/XLSX/PPT/PPT ...
最新文章
- elasticearch 多种查询参数用法:
- 修改数据无法提交_MySQL数据库精讲:一文讲解MySQL事务隔离!
- keycode对应主要键的关系
- SAP Spartacus table里显示较长数据时自动显示省略号的设置
- .12-浅析webpack源码之NodeWatchFileSystem模块总览
- java 异步调用方法_乐字节Java编程之方法、调用、重载、递归
- 此 sqltransaction 已完成;它再也无法使用_win10笔记本自带office报错无法激活的解决方法...
- 以Jar形式为Web项目提供资源文件(JS、CSS与图片)
- 如何将Netbeans配置更加合理
- nginx nodejs环境配置_nodejs + nginx + ECS阿里云服务器环境设置
- Java 8:一文掌握 Lambda 表达式 | CSDN 博文精选
- 【计算机网络】【硬件】交换机芯片介绍
- Jeff Dean的传奇人生:超级工程师们拯救谷歌
- 明解C语言第七章习题
- 魔兽8.0最新服务器人口普查,魔兽世界8.2最新人口普查 2019各服务器人口普查信息汇总...
- [文摘20080311]五笔口诀
- JAVA开发---微信文章留言功能实现
- 雨听 | 英语作文作文万能句型
- THz:随机湍流信道下THz无线LOS链路的性能研究
- 计算机网络应用押韵句,沙雕押韵很可爱的rap的句子 笑掉大牙的押韵句子