php 图像处理 抠图,生成背景透明png 图片
*自定义一个图片等比缩放函数
*@param string $picname 被缩放图片名
*@param string $path 被缩放图片路径
*@param int $maxWidth 图片被缩放后的最大宽度
*@param int $maxHeight 图片被缩放后的最大高度
*@param string $pre 缩放后的图片名前缀,默认为"s_"
*@return boolen 返回布尔值表示成功与否。
*/
function imageResize($picname,$path,$maxWidth,$maxHeight,$pre="s_"){
$path = rtrim($path,"/")."/";
//1获取被缩放的图片信息
$info = getimagesize($path.$picname);
//获取图片的宽和高
$width = $info[0];
$height = $info[1];
//2根据图片类型,使用对应的函数创建画布源。
switch($info[2]){
case 1: //gif格式
$srcim = imagecreatefromgif($path.$picname);
break;
case 2: //jpeg格式
$srcim = imagecreatefromjpeg($path.$picname);
break;
case 3: //png格式
$srcim = imagecreatefrompng($path.$picname);
break;
default:
return false;
//die("无效的图片格式");
break;
}
//3. 计算缩放后的图片尺寸
if($maxWidth/$width<$maxHeight/$height){
$w = $maxWidth;
$h = ($maxWidth/$width)*$height;
}else{
$w = ($maxHeight/$height)*$width;
$h = $maxHeight;
}
//4. 创建目标画布
$dstim = imagecreatetruecolor($w,$h);
//5. 开始绘画(进行图片缩放)
imagecopyresampled($dstim,$srcim,0,0,0,0,$w,$h,$width,$height);
//6. 输出图像另存为
switch($info[2]){
case 1: //gif格式
imagegif($dstim,$path.$pre.$picname);
break;
case 2: //jpeg格式
imagejpeg($dstim,$path.$pre.$picname);
break;
case 3: //png格式
imagepng($dstim,$path.$pre.$picname);
break;
}
}
php 图像处理 抠图,生成背景透明png 图片的更多相关文章
- DevExpress 中 设置 labelControl 的背景透明到图片的方法
labelControl 中的 backColor 可以设置为: TransParent 当设置为: Transparent 的时候,labelControl 的背景依然为 主form的背景颜色 ,研 ...
- Image 抠图,背景透明处理
import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import javax.i ...
- java创建透明背景的PNG图片加自定义文字水印
人在码上走,需求天天有.这不,今天前端让我返回一个带自定义水印的背景图片.一通google,有现成的代码,但是基本是直接在源图上添加水印,生成出来的文字样式也没有控制好,看来又只有自己造轮子了. 过程 ...
- 用shader使图片背景透明
转自:http://blog.csdn.net/dawn_moon/article/details/8631783 好吧,终于抽时间写这篇文章了. 手头上有很多人物行走图,技能特效图等,但这些图都有个 ...
- 【转】cocos2d-x游戏开发(十四)用shader使图片背景透明
转自:http://blog.csdn.net/dawn_moon/article/details/8631783 好吧,终于抽时间写这篇文章了. 手头上有很多人物行走图,技能特效图等,但这些图都有个 ...
- MFC 添加背景图片并让控件背景透明
/*添加背景图片*/ BOOL CTOOLDlg::OnEraseBkgnd(CDC* pDC) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CDialog::OnEraseBkg ...
- MFC 加入背景图片并让控件背景透明
/*加入背景图片*/ BOOL CTOOLDlg::OnEraseBkgnd(CDC* pDC) { // TODO: 在此加入消息处理程序代码和/或调用默认值 CDialog::OnEraseB ...
- ps让图片背景透明
效果图: jpg=>png,背景透明 步骤: 1.选择橡皮工具的第三个 魔术橡皮 保存为png, 按住Ctrl+alt+shift+s 保存:
- Node.js在指定的图片模板上生成二维码图片并附带底部文字说明
在Node.js中,我们可以通过qr-image包直接在后台生成二维码图片,使用方法很简单: var qr = require('qr-image'); exports.createQRImage = ...
随机推荐
- task.delay 和 thread.sleep
1.Thread.Sleep 是同步延迟. Task.Delay异步延迟. 2.Thread.Sleep 会阻塞线程,Task.Delay不会. 3.Thread.Sleep不能取消,Task.Del ...
- 关于JavaScript的内存机制
一.背景 var a = 20; var b = 'abc'; var c = true; var d = { m: 20 } 因为JavaScript具有自动垃圾回收机制,所以对于前端开发来说,内存 ...
- shell定义
用户输入的命令并且把它们送到内核.不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序. Shell编程语言具有普通编程语言的很多特点 无图形化界面时与lin ...
- C++入门经典-例5.15-回收动态内存的一般处理步骤
1:正确的步骤应该是如下代码所示: // 5.15.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostrea ...
- 验证TXT解析的正确性
需要用到TXT解析,不同于CNAME和A解析,可以用PING命令验证,要验证TXT解析需要用到如下命令 nslookup -q=TXT txtdemo.lei.cool 8.8.8.8 输出内容如下 ...
- 一、基础篇--1.1Java基础-MVC设计思想
MVC简介: MVC(Model View Controller) 是模型(model)-视图(view)-控制器(controller)的缩写.一种软件设计典范,用一种业务逻辑.数据.界面显示分离的 ...
- fastjson解析list ,object中含有list, object中含有map
1.首先定义测试vo package com.haiyisoft.cAssistantWeb.ui; import java.sql.Timestamp; public class vo {priva ...
- SpringMvc中@PathVariable注解简单的用法
@PathVariable /** * @PathVariable 可以来映射 URL 中的占位符到目标方法的参数中. * @param id * @return */ jsp页面请求 <a h ...
- 清明 DAY 4
~~~~~zhx并没有讲完~~~~~~QAQ~~~~~~ (其实并没有更完)
- android中如何自动获取短信验证码
package com.loaderman.smsbroadcastreceiver; import java.util.regex.Matcher; import java.util.regex.P ...