阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

GIF 或 WebP格式转换可以用java实现

317次阅读
没有评论

共计 4138 个字符,预计需要花费 11 分钟才能阅读完成。

导读 了解如何将数十种常见的图像文件类型 (包括但不限于 PNG 和 JPG) 分别转换为 GIF 和 WebP 格式。

了解如何将数十种常见的图像文件类型 (包括但不限于 PNG 和 JPG) 分别转换为 GIF 和 WebP 格式。

GIF 或 WebP 格式转换可以用 java 实现

如果我们准备在线为特定目的重新格式化图像,我们选择的新格式需要准确反映我们设想的用例。否则,我们会在不经意间扼杀我们自己的效率,最重要的是,冒着降低网页加载速度的风险。对于大多数文件格式选择也是如此:我们不会使用 Microsoft Word 创建电子表格,也不会使用 Excel 撰写论文(尽管从技术上讲两者都可以)。

选择使用哪种图像格式需要我们考虑我们期望该文件服务的确切目的。虽然我们在网上遇到的最普遍的格式——即 JPG 和 PNG——为它们各自的用例提供了众所周知的好处,但它们在某些关键领域也存在不足。例如,虽然 JPG 格式由于其高度压缩 (允许网页运行得更快) 而被广泛用于网站页面,但这种压缩程度会牺牲大量的图像质量,我们可能并不总是愿意失去. 虽然 PNG 是一种具有内置透明度功能的无损格式——非常适合在纯色背景上显示图形、徽标和插图等内容——但它明显缺乏适应常见在线用例 (如图像动画) 的能力当需要时。

对于我们更专业的格式要求,我们可以求助于其他常见的图像格式——无论是旧的还是新的——来实现我们的目标。GIF 格式已经有 30 多年的历史了——它比最初的万维网还要早——但它独特地允许创建基本的逐帧动画,并且它还允许网页以更高的速度加载这些动画速度比同类方法 (例如,传统的视频插件) 可以。WebP 格式——由谷歌在 10 多年前创建——足够新,它仍然缺乏与许多网站的上传兼容性,但它的优势是不可否认的:它不仅比 JPG 提供超过 20% 的压缩率,而且 PNG,但它允许有损和无损压缩,确保我们并不总是需要在图像质量和网页加载速度之间进行选择。

鉴于这些常见图像格式的不同用例,格式之间的转换是许多内容专业人员的日常需求,这种需求鼓励采购能够大规模高效执行转换的服务。下面,我将演示如何利用两种 API 解决方案,帮助将数十种常见图像文件类型 (包括但不限于 PNG 和 JPG) 分别转换为 GIF 和 WebP 格式。

示范
下面,我提供了 Java 代码示例来帮助您构建对上述两种图像格式转换 API 解决方案的 API 调用。此外,我还提供了帮助您使用 Maven 或 Gradle 安装图像转换 API 客户端的说明(取决于您的偏好)。

要使用 Maven 开始 API 客户端安装阶段,我们的第一步是在 pom.xml 中添加对存储库的引用:

GIF 或 WebP 格式转换可以用 java 实现
之后,我们需要添加以下依赖引用,这将允许 JitPack 动态编译库:

GIF 或 WebP 格式转换可以用 java 实现

要使用 Gradle 安装,我们需要首先将以下代码段添加到根 build.gradle(在存储库的末尾):

allprojects {
repositories {
...
maven {url 'https://jitpack.io'}
}
}

然后,总结一下,我们需要在 build.gradle 中添加依赖项:

dependencies {implementation 'com.github.Cloudmersive:Cloudmersive.APIClient.Java:v4.25'}

安装步骤完成后,我们现在可以为每个 API 解决方案添加导入,然后直接调用它们各自的函数。在我们这样做之前,我想快速指出,在下面提供的每个函数中,都有一个身份验证字段 (在导入下方,由代码注释指示) 捕获 API 密钥输入。在 Cloudmersive 网站上注册免费层 API 密钥后,您只需将 API 密钥字符串复制并粘贴到相应字段中,即可完成 API 密钥身份验证步骤。

要将图像转换为 GIF 格式,我们将调用以下函数。我们需要做的就是在 imageFile 字段中包含我们的图像文件路径,然后我们就完成了:

// Import classes:
//import
com.cloudmersive.client.invoker.ApiClient;
//import
com.cloudmersive.client.invoker.ApiException;
//import
com.cloudmersive.client.invoker.Configuration;
//import
com.cloudmersive.client.invoker.auth.*;
//import
com.cloudmersive.client.ConvertApi;
ApiClient defaultClient =
Configuration.getDefaultApiClient();
// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth)
defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Apikey.setApiKeyPrefix("Token");
ConvertApi apiInstance = new ConvertApi();
File imageFile = new File("/path/to/inputfile"); // File | Image file to perform the operation on. Common file formats such as PNG, JPEG are supported.
try {byte[] result = apiInstance.convertToGif(imageFile);
System.out.println(result);
} catch (ApiException e) {System.err.println("Exception when calling ConvertApi#convertToGif");
e.printStackTrace();}

要将图像转换为 WebP 格式,我们将调用以下函数。就像以前一样,只需在 imageFile 字段中包含您的文件路径,您就完成了:

// Import classes:
//import
com.cloudmersive.client.invoker.ApiClient;
//import
com.cloudmersive.client.invoker.ApiException;
//import
com.cloudmersive.client.invoker.Configuration;
//import
com.cloudmersive.client.invoker.auth.*;
//import
com.cloudmersive.client.ConvertApi;
ApiClient defaultClient =
Configuration.getDefaultApiClient();
// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth)
defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Apikey.setApiKeyPrefix("Token");
ConvertApi apiInstance = new ConvertApi();
File imageFile = new File("/path/to/inputfile"); // File | Image file to perform the operation on. Common file formats such as PNG, JPEG are supported.
try {byte[] result = apiInstance.convertToWebP(imageFile);
System.out.println(result);
} catch (ApiException e) {System.err.println("Exception when calling ConvertApi#convertToWebP");
e.printStackTrace();}

每个 API 解决方案都可以从数十种常见的图像格式进行转换。为了您的方便,我在这里提供了兼容输入格式的完整列表:

AAI,艺术,ARW,AVS,BPG,BMP,BMP2,BMP3,BRF,CALS,CGM,CIN,CMYK,CMYKA,CR2,CRW,CUR,CUT,DCM,DCR,DCX,DDS,DIB,DJVU,DNG,DOT、DPX、EMF、EPDF、EPI、EPS、EPS2、EPS3、EPSF、EPSI、EPT、EXR、FAX、FIG、FITS、FPX、GIF、GPLT、灰色、HDR、HEIC、HPGL、HRZ、ICO、ISOBRL、ISBRL6、JBIG、JNG、JP2、JPT、J2C、J2K、JPEG/JPG、JXR、MAT、MONO、MNG、M2V、MRW、MTV、NEF、ORF、OTB、P7、PALM、PAM、PBM、PCD、PCDS、PCL,PCX,PDF,PEF,PES,PFA,PFB,PFM,PGM,PICON,PICT,PIX,PNG,PNG8,PNG00,PNG24,PNG32,PNG48,PNG64,PNM,PPM,PSB,PSD,PTIF,PWB,RAD、RAF、RGB、RGB、RGF、RLA、RLE、SCT、SFW、SGI、SID、SUN、SVG、TGA、TIFF、TIM、UIL、VIFF、VICAR、VBMP、WDP、WEBP、WPG、X、XBM、XCF、XPM、XWD、X3F、YCbCr、YCbCrA、YUV

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计4138字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19352
评论数
4
阅读量
8071303
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
免费领取huggingface的2核16G云服务器,超简单教程

免费领取huggingface的2核16G云服务器,超简单教程

免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...