一只大脸猫博客主要分享PHP开发技巧、Web前端技术、网站优化、网站排名、修电脑、心灵鸡汤等一些生活中遇到的事、道理和技巧。分享更多知识给身边的朋友。
一只大脸猫博客主要分享PHP开发技巧、Web前端技术、网站优化、网站排名、修电脑、心灵鸡汤等一些生活中遇到的事、道理和技巧。分享更多知识给身边的朋友。

压缩图片扩展之扩展开发与使用


前几天发的一篇文章介绍了两个压缩图片的网站,最后我比较推荐【TinyPNG】,原因呢就是因为它的扩展性比较强适用于开发属于自己的脚本。

那么我们今天就来讲讲【TinyPNG】的API开发,废话不多说干就行了。

微信图片_20190621172640.png

官方客户端代码库支持Ruby, PHP, Node.js, Python, Java 和 .NET。 您也可以使用WordPress插件来压缩JPEG和PNG图片。

社区还使用开发者API创建了相当多的第三方组件,那么我们讲讲PHP的使用方法吧。

安装

使用Composer

安装Composer包并将其添加到应用的依赖, 你就可以使用PHP客户端程序库了:

composerrequiretinify/tinify

微信图片_20190621171333.png

确保require Composer的自动加载器:

require_once("vendor/autoload.php");

手动安装

如果您不想用Composer,您还可以手动安装PHP客户端。从Github下载Tinify档案, 选择一个目录,解压文件到该目录并按如下方式将文件引入到您的项目中。

<?php    
    require_once("lib/Tinify/Exception.php");
    require_once("lib/Tinify/ResultMeta.php");    
    require_once("lib/Tinify/Result.php");    
    require_once("lib/Tinify/Source.php");    
    require_once("lib/Tinify/Client.php");    
    require_once("lib/Tinify.php");    
    //源码可以从Github获取。

认证

您必须提供您的API密钥来使用API。您可以通过注册您的姓名和Email地址来获取API密钥。 请秘密保存API密钥。

微信图片_20190621172634.png

\Tinify\setKey("YOUR_API_KEY");//传入我们的密钥

压缩图片

您可以上传任何JPEG或PNG图片到Tinify API来进行压缩。我们将自动检测图片类型并相应的使用TinyPNG或TinyJPG引擎进行优化。 只要上传文件或提供图片URL,就会开始压缩。

您可以选择一个本地文件作为源并写入到另一个文件中。

$source = \Tinify\fromFile("unoptimized.jpg");
$source->toFile("optimized.jpg");
//您还可以从缓冲区(buffer)(二进制字符串)上传图片并获取压缩后图片的数据。
$sourceData = file_get_contents("unoptimized.jpg");
$resultData = \Tinify\fromBuffer($sourceData)->toBuffer();
//您可以提供图片的网址,而不必上传图片。
$source = \Tinify\fromUrl("https://tinypng.com/images/panda-happy.png");
$source->toFile("optimized.jpg");

调整图片大小

使用API创建已上传图像的缩放版本。通过API实现缩放,您可以避免自己编写相关代码,图片只需要上传一次。 缩放后的图片会自动被优化,压缩并且看起来清晰细腻。

您还可以利用智能剪裁功能来创建专注图像中最重要的视觉区域的缩略图。

缩放会计为一次额外的压缩。例如,如果您上传单张图片并且获取优化版本以及两个缩放版本,这将总共被计为3次压缩。

调用图像源的resize方法来缩放图片:

$source = \Tinify\fromFile("large.jpg");
$resized = $source->resize(array(
    "method" => "fit",//通过改变参数改变方法 参数有scale,fit,cover,thumb
    "width" => 150,
    "height" => 100
));
$resized->toFile("thumbnail.jpg");

method方法参数为scale的预览图

api-scale-2x.png

method方法参数为fit的预览图

api-fit-2x.png

method方法参数为cover的预览图

api-cover-2x.png

method方法参数为thumb的预览图

api-thumb-2x.png

压缩计数

API客户端会自动跟踪您本月所执行的压缩次数。验证API密钥后或在至少发出一次压缩请求后,您可以获得压缩计数。

$compressionsThisMonth = \Tinify\compressionCount();

价格

按使用付费。每月的前500次压缩免费。只有压缩超过500张图片,才会被扣费。


压缩图片扩展之扩展开发与使用:http://www.yzdlm.com/book/35.html

作者:吕宗国 分类: 个人博客


上一篇:你真的知道怎么压缩图片吗?压缩图片需要注意些什么? 下一篇:文章最重要的并不是原创,而是伪原创

评论


乖,登录后才可以留言!
QQ一键登录
Top