PHP 给图片加边框
/**
* 给图片加边框 by liangjian 2014-06-19
* @param $ImgUrl 图片地址
* @param $SavePath 新图片保存路径
* @param $px 边框像素(2表示左右各一像素)
* @return Ambigous <boolean, 新图片的路径>
*/
function ImageAddBoard($ImgUrl, $SavePath, $px = 2) {
$aPathInfo = pathinfo ( $ImgUrl );
// 文件名称
$sFileName = $aPathInfo ['filename'];
// 图片扩展名
$sExtension = $aPathInfo ['extension'];
// 获取原图大小
list($img_w, $img_h) = getimagesize ( $ImgUrl ); // 读取图片
if (strtolower ( $sExtension ) == 'png') {
$resource = imagecreatefrompng ( $ImgUrl );
} elseif (strtolower ( $sExtension ) == 'jpg' || strtolower ( $sExtension ) == 'jpeg') {
$resource = imagecreatefromjpeg ( $ImgUrl );
} // 282*282的黑色背景图片
$im = @imagecreatetruecolor ( ($img_w + $px), ($img_h + $px) ) or die ( "Cannot Initialize new GD image stream" ); // 为真彩色画布创建背景,再设置为透明
$color = imagecolorallocate ( $im, 0, 0, 0 );
//imagefill ( $im, 0, 0, $color );
//imageColorTransparent ( $im, $color ); // 把品牌LOGO图片放到黑色背景图片上。边框是1px
imagecopy ( $im, $resource, $px / 2, $px / 2, 0, 0, $size [0], $size [1] ); $imgNewUrl = $SavePath . $sFileName . '-n.' . $sExtension;
if (strtolower ( $sExtension ) == 'png') {
$ret = imagepng ( $im, $imgNewUrl );
} elseif (strtolower ( $sExtension ) == 'jpg' || strtolower ( $sExtension ) == 'jpeg') {
$ret = imagejpeg ( $im, $imgNewUrl );
}
imagedestroy ( $im );
return $ret ? $imgNewUrl : false;
}
使用:
$savePath = './brand/';
$url = 'http://cdn0.xx.cn/store/moudlepic/301_module_images/936001_z.jpg'; var_dump(ImageAddBoard($url, $savePath));
加入前:
加入后:
PHP 给图片加边框的更多相关文章
- CSS鼠标悬停图片加边框效果,不位移的方法
<!DOCTYPE HTML> <html lang="en-US"> <head> <title>css实现鼠标悬停时图片加边框效 ...
- C#实现给图片加边框的方法
Bitmap bit= new Bitmap(@"" + Path);//给图片加边框 //Bitmap bit = new Bitmap(Screen.AllScreens[0] ...
- jQuery - 点击图片加边框
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- CSS鼠标悬停图片加边框效果,页面布局发生错位的解决办法
CSS鼠标悬停图片加边框效果,页面布局发生错位的解决办法 .recomend-list{ width:1200px; a{ @extend %fl; margin-right: 30px; width ...
- Android 给图片 加边框
图片处理时,有时需要为图片加一些边框,下面介绍一种为图片添加简单边框的方法. 基本思路是:将边框图片裁剪成八张小图片(图片大小最好一致,不然后面处理会很麻烦),分别对应左上角,左边,左下角,下边,右下 ...
- Android 给图片加边框
图片处理时,有时需要为图片加一些边框,下面介绍一种为图片添加简单边框的方法. 基本思路是:将边框图片裁剪成八张小图片(图片大小最好一致,不然后面处理会很麻烦),分别对应左上角,左边,左下角,下边,右下 ...
- Android学习笔记进阶19 之给图片加边框
//设置颜色 public void setColour(int color){ co = color; } //设置边框宽度 public void setBorderWidth(int width ...
- Android学习笔记进阶19之给图片加边框
//设置颜色 public void setColour(int color){ co = color; } //设置边框宽度 public void setBorderWidth(int width ...
- bug:无法给图片加边框
一,经历 1.错误代码 _avatarView.layer.cornerRadius = GIFT_AVATAR_WIDTH * 0.5; _avatarView.layer.borderColor ...
随机推荐
- 第3节 mapreduce高级:4、倒排索引的建立
倒排索引建立 需求分析 需求:有大量的文本(文档.网页),需要建立搜索索引 最终实现的结果就是哪个单词在哪个文章当中出现了多少次 思路分析: 首选将文档的内容全部读取出来,加上文档的名字作为key,文 ...
- vs2008如何新建自己工程的环境变量(局部)和 Windows系统(全局). .
在vs2008的Project->Property设置里经常会看到类似$(IntDir).$(OutDir).$(ProjectName) 的预定义宏.以vc2008为例,有时候我们在引用别的库 ...
- 浅谈树套树(线段树套平衡树)&学习笔记
0XFF 前言 *如果本文有不好的地方,请在下方评论区提出,Qiuly感激不尽! 0X1F 这个东西有啥用? 树套树------线段树套平衡树,可以用于解决待修改区间\(K\)大的问题,当然也可以用 ...
- 在SpringBoot框架中使用拦截器
1.继承WebMvcConfigureAdapter类,覆盖其addInterceptors接口,注册我们自定义的拦截器 package com.eth.wallet.config; import c ...
- 基于Redis的三种分布式爬虫策略
前言: 爬虫是偏IO型的任务,分布式爬虫的实现难度比分布式计算和分布式存储简单得多. 个人以为分布式爬虫需要考虑的点主要有以下几个: 爬虫任务的统一调度 爬虫任务的统一去重 存储问题 速度问题 足够“ ...
- 21Spring重用切点表达式
直接看代码: package com.cn.spring.aop.impl; //加减乘除的接口类 public interface ArithmeticCalculator { int add(in ...
- UVa 11998 破碎的键盘(数组实现链表)
题意: 输入一行字符,其中包含'[' 和 ‘]’, 意思为键盘上的home 和 end 键, 然后模拟字符在键盘上输入. 输入一行最终的结果 分析: 用数组模拟一个链表, 在链表的头尾插入字母然后输出 ...
- vim fulerformat的设置
在vim中设置选项,有注释很容易明白: set laststatus=1 "2总显示最后一个窗口的状态行,1窗口多于一个时显示最后一个窗口的状态行,0不显示最后一个窗口的状态行 fulerf ...
- Network-POJ3694(最小公共祖先LCA+Tarjin)
http://poj.org/problem?id=3694 这一题 为什么要找最小祖先呢 当两个节点连到一块的时候 找最小公共节点就相当于找强连通分支 再找最小公共节点的过程中直到找到 这个过 ...
- POJ—— 2117 Electricity
Electricity Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 5620 Accepted: 1838 Descr ...