图像压缩函数imagecopyresampled
<?php
//制作缩略图、图像压缩
//参数1:目的地图像资源(通常指的是画布资源)
$dst_image = imagecreatetruecolor(100, 100);
$color = imagecolorallocate($dst_image, 22, 139, 0);
imagefill($dst_image, 0, 0, $color);
//参数2:原图资源(将该图片资源压缩之后,再保存到目的地画布中)
$src_image = imagecreatefrompng('bs.png');
//参数3、4:目的地(画布的起点坐标)
$dst_x = 0;
$dst_y = 0;
//参数5、6:原图的(起点坐标)
$src_x = 0;
$src_y = 0;
//参数7、8:目的地(画布的宽度、高度)
$dst_w = 100;
$dst_h = 100;
//参数9、10:原图的宽度、高度
//通过imagesx()函数获得图像资源的宽度、imagesy()获得图像资源的高度 $src_w = imagesx($src_image);
$src_h = imagesy($src_image);
imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h); //可以保存、也可以输出到浏览器
//1. 直接在浏览器输出
header("Content-Type:image/png");
imagepng($dst_image); //2. 保存到本地,只需要给imagepng()函数增加第二个参数(保存地址)即可
//imagepng($dst_image,'./thumb_bs.png');
;
图像压缩函数imagecopyresampled的更多相关文章
- php 图片处理类
<?php /** * 图片类 * @author <420012223@qq.cn> */ class Image { public $uploadImagePath = './t ...
- 一步步教你轻松学奇异值分解SVD降维算法
一步步教你轻松学奇异值分解SVD降维算法 (白宁超 2018年10月24日09:04:56 ) 摘要:奇异值分解(singular value decomposition)是线性代数中一种重要的矩阵分 ...
- 将小程序的logo换成属于自己的头像
$logo = file_get_contents(IMG_URL.$logo); //根据头像的路径 $logo = yuanImg1($logo); //将头像改为圆形 $data = file_ ...
- 使用phpqrcode生成二维码
使用PHP语言生成二维码,还是挺有难度的,当然调用生成二维码图片的接口(比如:联图网http://www.liantu.com/的接口)除外,如果自己写代码生成,真的无从下手.然而,我们可以使用php ...
- thinkphp5框架生成二维码(二)
上篇已经讲过了SDK之类的,这个不再重复,有不知道的童鞋们,请去看上篇文章吧. 这里我用的方法比较老旧,大家有更好的方法,可以进行改良,还有linux服务器,记得给文件权限,否则生成的文件会失败的.大 ...
- php合并图片
<?php class image{ /** * @param string $backgroundImage 背景图 * @param string $smallImage 小图 * @par ...
- PHP基于phpqrcode类生成二维码的方法详解
前期准备: 1.phpqrcode类文件下载,下载地址:https://sourceforge.net/projects/phpqrcode/2.PHP环境必须开启支持GD2扩展库支持(一般情况下都是 ...
- 微信小程序获取二维码并把logo替换为自己的头像
$avatarUrl = 'http://cms-bucket.nosdn.127.net/2018/05/28/a1a44ffdc2d24f928c1860d4fbf54703.jpeg?image ...
- 生成小程序菊花码(生成菊花码、更换中间logo、更改图片尺寸,加文字)
<?php /** * 获取小程序二维码 */ class getMiniQrcode { public $db = ''; public function __construct() { $t ...
随机推荐
- nodejs操作文件
var fs = require('fs'); var txt = "以上程序使用fs.readFileSync从源路径读取文件内容,并使用fs.writeFileSync将文件内容写入目标 ...
- Java设计模式—中介者模式
中介者模式是一种并不常用的模式,在此简单阐述阐述. 定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互. 类型:行为类模式 ...
- [c/c++]判断一个字符串是不是UTF-8字符串
#define CHECK_LENGTH 20 //检查是否为utf8编码时所检查的字符长度 int is_utf8_string(char *utf) { int length = s ...
- SuiteCRM-7.7.6 (Ubuntu 16.04)
平台: Ubuntu 类型: 虚拟机镜像 软件包: suitecrm-7.7.6 commercial crm open-source suitecrm 服务优惠价: 按服务商许可协议 云服务器费用: ...
- Can't connect to any repository.Read timed out after 30,000 ms
解决方法:
- Excel汇总多个页卡数据到一个页卡
首先新建一个页卡放到最前面,页卡处右键,选择查看代码,选择需要汇总的页卡,输入以下代码,运行即可: 1.如果需要把全部数据都汇总到一个页卡 Sub 合并当前工作簿下的所有工作表() Applicati ...
- 如何C#操作SQLite数据库
或许有人之前在java开发中使用过SQLite,对它有些印象.在用Winform或Wpf开发小应用程序时,发现用SQLite数据库也是不错的.就像一个会员管理软件,开发完毕后,可以省去想sqlserv ...
- windows服务器间文件同步搭建步骤搜集
Rsync https://www.cnblogs.com/janas/p/3321087.html https://yq.aliyun.com/ziliao/110867 subersion协议 h ...
- QT学习之QT判断界面当前点击的按钮和当前鼠标坐标
1.QObject::sender( ) 返回发送信号的对象的指针,返回类型为QObject* .可使用qobject_cast动态类型转换成对应的发送信息的对象(对象类的基类中需要有QObject) ...
- 【BZOJ3506】[CQOI2014] 排序机械臂(Splay)
点此看题面 大致题意: 给你\(n\)个数.第一次找到最小值所在位置\(P_1\),翻转\([1,P_1]\),第二次找到剩余数中最小值所在位置\(P_2\),翻转\([2,P_2]\),以此类推.求 ...