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 = ...
随机推荐
- TL;DR
英文文章中,偶尔会出现TL;DR 的字符. TL;DR=>Too Long; Don’t Read=>太长了,读不下去=>长话短说 一般用于在文章开头先给出干货.
- eclipse中解决update maven之后jre被改成1.5的问题
1.在项目的pom.xml中加入下面的代码就能解决(加入插件) <build> <plugins> <plugin> <groupId>org.apac ...
- 【转】Java操作CSV文件导入导出
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- 2018092609-2 选题 Scrum立会报告+燃尽图 04
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8682 一.小组情况组长:贺敬文组员:彭思雨 王志文 位军营 杨萍队名:胜 ...
- ActiveMQ 初学-1:ActiveMQ 创建连接对象
县创建mq的连接工厂对象 ActiveMQConnectionFactory // 1 建立ConnectionFactory 工厂对象,需要填入,需要填入用户名密码, // 用户名 密码 在 ...
- python MySQLdb 一个连接connection多个cursor
使用MySQLdb时,如果创建一个连接connection,多个线程同时使用,会不会有问题? 在下文中,我们将模拟这种场景,看是否会出现问题. 1.示例 1.1 正常的情况 创建一个连接,两个线程同时 ...
- 手动清空微信PC客户端数据
微信PC客户端,用久了之后,会产生大量数据,包括聊天记录.聊天图片.视频等等,非常占存储空间,除非很重要的聊天记录或文件,建议额外保存,其他的可以手动删掉就好,可以节省存储空间. 1.找到[C:\Us ...
- 函数参数<一>
<1> 定义带有参数的函数 示例如下: def add2num(a, b): c = a+b print (c) <2> 调用带有参数的函数 以调用上面的add2num(a, ...
- no CUDA-capable device is detected,或者GPU is lost
出现以下问题,程序只能运行一次,而且每运行一次显卡就不见了,出现以下情况,只能重启才可以再次检测到: 最后解决: 我本来安装的是cuda9.0 但是(下面显示是10): 起初是因为说他表示最高可以到 ...
- 我非要捅穿这 Neutron(三)架构分析与代码实现篇(基于 OpenStack Rocky)
目录 文章目录 目录 Neutron 的软件架构分析与实现 Neutron Server 启动流程 获取 WSGI Application Core API & Extension API C ...