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 ...
随机推荐
- C#面试问题及答案
1.遇到高并发的问题如何解决? 优化SQL语句 多线程 分布式服务器 集群 拆表2.Dictionary和ConurrentDictionary的区别? 后者是线程安全的 前者适用于单线程3.Dict ...
- Java 调用存储过程 返回结果集
这里使用Oracle数据库的thin连接. 下面是存储过程SQL 1 createorreplaceprocedure proc3(stid in student.stuid%type, stname ...
- ORACLE in与exists语句的区别(一)
select * from Awhere id in(select id from B) 以上查询使用了in语句,in()只执行一次,它查出B表中的所有id字段并缓存起来.之后,检查A表的id是否与B ...
- Android首页轮播图直接拿来用
import java.util.ArrayList; import java.util.List; import java.util.concurrent.Executors; import jav ...
- Android使用JDBC连接数据库
连接数据库是安卓开发中几乎不可避免的一项工作,稍有规模的应用通常都需要使用数据库来存储用户数据.对于本地数据库当然可以使用sqlite,而对于多用户线上应用,则一般需要配备云端数据库.其中比较常用且开 ...
- python3爬虫-爬取58同城上所有城市的租房信息
from fake_useragent import UserAgent from lxml import etree import requests, os import time, re, dat ...
- sql server 备份计划
SSMS 1.管理 2.维护计划 3.维护计划向导 或者 1. server 代理 2. 作业 3. 新建作业 备份计划时间尽量选在闲时, 例如午夜
- windows窗口过程函数名词解析
windows窗口过程函数名词解析 LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) 1. LR ...
- UVA 221 城市化地图(离散化思想)
题意: 给出若干个栋楼俯视图的坐标和面积,求从俯视图的南面(可以视为正视图)看过去到底能看到多少栋楼. 输入第一个n说明有n栋楼,然后输入5个实数(注意是实数),分别是楼的左下角坐标(x,y), 然后 ...
- web前端开发——css
一.css介绍 1.css是什么? Cascading Style Sheets缩写,层叠样式表.样式定义如何显示HTML元素,样式通常又会存在于样式表中. 2.为什么需要css? 使HTML页面变得 ...