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 = ...
随机推荐
- spring注解版
第一.spring框架快速入门 1.1什么是spring 框架 Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of C ...
- hive 分组排序函数 row_number() over(partition by " " order by " "desc
语法:row_number() over (partition by 字段a order by 计算项b desc ) rank --这里rank是别名 partition by:类似hive的建表, ...
- python3笔记二十三:正则表达式之其他函数
一:学习内容 re.split函数 re.finditer函数 re.sub函数 group()分组 re.compile函数 二:字符串切割---re.split函数 需要导入包:import re ...
- spark 2015 发展方向
https://www.youtube.com/watch?v=YWppYPWznSQ Databrick的spark 2015规划聚会的视频,看起来今年会在SQL和MLlib上发力多一点. ...
- spark 笔记 9: Task/TaskContext
DAGScheduler最终创建了task set,并提交给了taskScheduler.那先得看看task是怎么定义和执行的. Task是execution执行的一个单元. Task: execut ...
- ActiveMQ配置文档
本文介绍一对一.一对多.持久化.非持久化消息配置方式 一.创建项目 导入jar 二.创建MQ.xml <!-- 配置JMS连接工厂 --> <bean id="connec ...
- mysql replaceinto VS insertinto
https://blog.csdn.net/t8116189520/article/details/78908975 所以,若想基于插入值累加是不行的,需要insert into https://ww ...
- Boston House Price with Scikit-Learn
Boston House Price with Scikit-Learn Data Description >>> from sklearn.datasets import load ...
- Anaconda快捷键
ctr+1 注释多行 ctr+4 包裹注释多行 ctr+d 删除一行
- 建立WIN32 DLL,并使用静态加载和动态加载
新建工程,选择win32 dll 编写.cpp(或.c) MyDll.cpp #include "windows.h" BOOL APIENTRY DllMain(HANDLE h ...