TinyPNG 图像优化,完美平衡您的图片质量和大小。TinyPNG使用智能有损压缩技术来减少PNG文件的文件大小。通过选择性地减少图像中的颜色数,存储数据需要更少的字节。效果几乎看不见,但它在文件大小上造成了很大的差异!
![006118631e211764cb45ba48c8de103d.png](https://img-blog.csdnimg.cn/img_convert/006118631e211764cb45ba48c8de103d.png)
安装依赖
MAVEN
您可以将Java客户端作为Maven依赖项使用,方法是将以下内容添加到应用程序的pom.xml中。为了避免在更新客户端时破坏代码中的更改,请用特定版本替换发行版:
![35451da0fe8cba504a057794a6613ed4.png](https://img-blog.csdnimg.cn/img_convert/35451da0fe8cba504a057794a6613ed4.png)
GRADLE
如果使用Gradle,则可以使用以下方法:
![f9e1f68f05265b80edcdb33501f9b78c.png](https://img-blog.csdnimg.cn/img_convert/f9e1f68f05265b80edcdb33501f9b78c.png)
他们的源代码可以在 Github 上获得。
身份验证
密钥
要使用API,必须提供API密钥。您可以通过注册您的姓名和电子邮件地址 获得API密钥 。始终保持您的API密钥的秘密!
![1d4a968b77049c63c5112bfdb68ef826.png](https://img-blog.csdnimg.cn/img_convert/1d4a968b77049c63c5112bfdb68ef826.png)
所有请求将通过加密的HTTPS连接进行。
代理
您可以指示API客户端通过HTTP代理来完成所有请求。设置代理服务器的URL,URL可以可选地包括凭据。(杨潘提示你:这个操作不是必须的,当你有代理服务器,并且访问速度很快,你可以尝试)
![c771f693e09faba2ca37174ef4e770b5.png](https://img-blog.csdnimg.cn/img_convert/c771f693e09faba2ca37174ef4e770b5.png)
压缩图像
您可以将任何JPEG或PNG图像上传到Tinify API以对其进行压缩。它将自动检测类型的图像,并优化与TinyPNG或TinyJPG引擎相应。一旦上传文件或向图像提供URL,压缩就会开始。
本地
选择一个本地文件作为源,并将其写入另一个文件。
![24ff8d0efc3f9ae43b6cdcbeab11dc23.png](https://img-blog.csdnimg.cn/img_convert/24ff8d0efc3f9ae43b6cdcbeab11dc23.png)
二进制
从缓冲区(带有二进制的字符串)上传图像,并获取压缩的图像数据。
![2bec581c682a94f316835870f70a5c1c.png](https://img-blog.csdnimg.cn/img_convert/2bec581c682a94f316835870f70a5c1c.png)
URL
提供一个URL到您的图像,而不必上传它。
![167a67b6052294becf5bc6a8aeba5044.png](https://img-blog.csdnimg.cn/img_convert/167a67b6052294becf5bc6a8aeba5044.png)
调整图像
用API创建上传图像的调整大小版本。通过让API处理调整大小,您不必自己编写这样的代码,您只需上传一次图像。调整大小的图像将被最佳压缩与一个良好和清晰的外观。
你还可以利用智能裁剪来创建缩略图,这些缩略图集中在图像中最重要的视觉区域。
调整大小可算作一次额外的压缩。例如,如果您上传一个图像并检索优化版本加上2个调整大小的版本,则总共将计算为3个压缩。
方法
若要调整图像大小,请调用图像源上的“调整大小”方法:
![6539010a4543dbe227e8003086208342.png](https://img-blog.csdnimg.cn/img_convert/6539010a4543dbe227e8003086208342.png)
类型
该方法描述图像大小调整的方式。可采用以下方法:
![7f23bad66e629cb07d56a16e74420361.png](https://img-blog.csdnimg.cn/img_convert/7f23bad66e629cb07d56a16e74420361.png)
如果目标尺寸大于原始尺寸,则图像不会放大。为了保护您的图像质量,可以防止缩放。
保存元数据
您可以请求将特定元数据从上传的图像复制到压缩版本。保存版权信息,GPS位置和创建日期目前得到支持。保留元数据会增加压缩文件的大小,因此您只需要保留重要的元数据。
保存元数据并不意味着额外的压缩。但是,在后台,将再次使用附加元数据创建图像。
方法
要保存特定的元数据,请调用图像源上的保存方法:
![bdec7c738fd40d38e4e791cc089da62d.png](https://img-blog.csdnimg.cn/img_convert/bdec7c738fd40d38e4e791cc089da62d.png)
类型
您可以提供以下选项来保留特定的元数据。如果上传的映像中没有请求的元数据,则不会添加元数据。
![3f751e7cdaffe44e5a19529c5ab27f0b.png](https://img-blog.csdnimg.cn/img_convert/3f751e7cdaffe44e5a19529c5ab27f0b.png)
保存到AmazonS 3
你可以告诉tinify API保存压缩图像直接到Amazon S3。如果您使用S3来托管您的图像,这将节省您下载图像到服务器并将它们上传到S3的麻烦。
方法
若要将图像保存到S3,请调用图像源上的存储方法:
![8b317802f7110ab073602d680269bbc9.png](https://img-blog.csdnimg.cn/img_convert/8b317802f7110ab073602d680269bbc9.png)
选项
为了在AmazonS 3上保存图像,您需要提供以下选项:
![60dd4183721ba0775c0873782f211e17.png](https://img-blog.csdnimg.cn/img_convert/60dd4183721ba0775c0873782f211e17.png)
对应于AWS访问键ID的用户必须对要创建的对象的路径具有PutObject和PutObjectAcl权限。 |
S3访问策略示例
如果希望为Tinify API创建访问权限有限的用户,可以使用以下示例策略作为起点:
![7ba9379815ed52957252123872fc441e.png](https://img-blog.csdnimg.cn/img_convert/7ba9379815ed52957252123872fc441e.png)
错误处理
他使用HTTP状态代码表示成功或失败。任何HTTP错误都转换为异常,这些异常由客户端库引发。
类型
有四种不同类型的错误。异常消息将包含对错误条件的更详细描述。
![ac1525e7a68cd91cc6fc0fc79f9a34ce.png](https://img-blog.csdnimg.cn/img_convert/ac1525e7a68cd91cc6fc0fc79f9a34ce.png)
处理
您可以分别处理每种类型的错误:
![7cc2740147685fcbc9456635aee31b4d.png](https://img-blog.csdnimg.cn/img_convert/7cc2740147685fcbc9456635aee31b4d.png)
密钥
如果您正在编写使用用户配置的API密钥的代码,则可能需要在尝试压缩图像之前验证API密钥。验证发出一个虚拟请求来检查网络连接并验证API密钥。如果虚拟请求失败,将引发错误。
![551445ad14f1c963751a6cb32113a863.png](https://img-blog.csdnimg.cn/img_convert/551445ad14f1c963751a6cb32113a863.png)
压缩计数
API客户端自动跟踪本月进行的压缩次数。您可以在验证API密钥之后或在发出至少一个压缩请求之后获得压缩计数。
![1c818b73a46e00a96b08c2866d2e9aa8.png](https://img-blog.csdnimg.cn/img_convert/1c818b73a46e00a96b08c2866d2e9aa8.png)
![a6385bf9a79349f1d5005b94ff5425ac.png](https://img-blog.csdnimg.cn/img_convert/a6385bf9a79349f1d5005b94ff5425ac.png)