自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何使用 Java 將圖像文件轉(zhuǎn)換為 GIF 或 WebP 格式

開發(fā) 前端
了解如何將數(shù)十種常見的圖像文件類型(包括但不限于 PNG 和 JPG)分別轉(zhuǎn)換為 GIF 和 WebP 格式。

了解如何將數(shù)十種常見的圖像文件類型(包括但不限于 PNG 和 JPG)分別轉(zhuǎn)換為 GIF 和 WebP 格式。

如果我們準備在線為特定目的重新格式化圖像,我們選擇的新格式需要準確反映我們設(shè)想的用例。否則,我們會在不經(jīng)意間扼殺我們自己的效率,最重要的是,冒著降低網(wǎng)頁加載速度的風(fēng)險。對于大多數(shù)文件格式選擇也是如此:我們不會使用 Microsoft Word 創(chuàng)建電子表格,也不會使用 Excel 撰寫論文(盡管從技術(shù)上講兩者都可以)。

選擇使用哪種圖像格式需要我們考慮我們期望該文件服務(wù)的確切目的。雖然我們在網(wǎng)上遇到的最普遍的格式——即JPG 和 PNG——為它們各自的用例提供了眾所周知的好處,但它們在某些關(guān)鍵領(lǐng)域也存在不足。例如,雖然 JPG 格式由于其高度壓縮(允許網(wǎng)頁運行得更快)而被廣泛用于網(wǎng)站頁面,但這種壓縮程度會犧牲大量的圖像質(zhì)量,我們可能并不總是愿意失去. 雖然 PNG 是一種具有內(nèi)置透明度功能的無損格式——非常適合在純色背景上顯示圖形、徽標和插圖等內(nèi)容——但它明顯缺乏適應(yīng)常見在線用例(如圖像動畫)的能力當(dāng)需要時。

對于我們更專業(yè)的格式要求,我們可以求助于其他常見的圖像格式——無論是舊的還是新的——來實現(xiàn)我們的目標。GIF 格式已經(jīng)有 30 多年的歷史了——它比最初的萬維網(wǎng)還要早——但它獨特地允許創(chuàng)建基本的逐幀動畫,并且它還允許網(wǎng)頁以更高的速度加載這些動畫速度比同類方法(例如,傳統(tǒng)的視頻插件)可以。 WebP 格式——由谷歌在 10 多年前創(chuàng)建——足夠新,它仍然缺乏與許多網(wǎng)站的上傳兼容性,但它的優(yōu)勢是不可否認的:它不僅比 JPG 提供超過 20% 的壓縮率,而且PNG,但它允許有損和無損壓縮,確保我們并不總是需要在圖像質(zhì)量和網(wǎng)頁加載速度之間進行選擇。

鑒于這些常見圖像格式的不同用例,格式之間的轉(zhuǎn)換是許多內(nèi)容專業(yè)人員的日常需求,這種需求鼓勵采購能夠大規(guī)模高效執(zhí)行轉(zhuǎn)換的服務(wù)。下面,我將演示如何利用兩種 API 解決方案,幫助將數(shù)十種常見圖像文件類型(包括但不限于 PNG 和 JPG)分別轉(zhuǎn)換為 GIF 和 WebP 格式。

示范

下面,我提供了 Java 代碼示例來幫助您構(gòu)建對上述兩種圖像格式轉(zhuǎn)換 API 解決方案的 API 調(diào)用。此外,我還提供了幫助您使用 Maven 或 Gradle 安裝圖像轉(zhuǎn)換 API 客戶端的說明(取決于您的偏好)。

要使用 Maven 開始 API 客戶端安裝階段,我們的第一步是在 pom.xml 中添加對存儲庫的引用:

<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>

之后,我們需要添加以下依賴引用,這將允許 JitPack 動態(tài)編譯庫:

<dependencies>
<dependency>
<groupId>com.github.Cloudmersive</groupId>
<artifactId>
Cloudmersive.APIClient.Java</artifactId>
<version>v4.25</version>
</dependency>
</dependencies>

要使用Gradle安裝,我們需要首先將以下代碼段添加到根 build.gradle(在存儲庫的末尾):

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

然后,總結(jié)一下,我們需要在 build.gradle 中添加依賴項:

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

安裝步驟完成后,我們現(xiàn)在可以為每個 API 解決方案添加導(dǎo)入,然后直接調(diào)用它們各自的函數(shù)。在我們這樣做之前,我想快速指出,在下面提供的每個函數(shù)中,都有一個身份驗證字段(在導(dǎo)入下方,由代碼注釋指示)捕獲 API 密鑰輸入。在 Cloudmersive 網(wǎng)站上注冊免費層 API 密鑰后,您只需將 API 密鑰字符串復(fù)制并粘貼到相應(yīng)字段中,即可完成API 密鑰身份驗證步驟。

要將圖像轉(zhuǎn)換為 GIF 格式,我們將調(diào)用以下函數(shù)。我們需要做的就是在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();
}

要將圖像轉(zhuǎn)換為 WebP 格式,我們將調(diào)用以下函數(shù)。就像以前一樣,只需在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 解決方案都可以從數(shù)十種常見的圖像格式進行轉(zhuǎn)換。為了您的方便,我在這里提供了兼容輸入格式的完整列表:

AAI,藝術(shù),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

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2023-11-22 08:21:25

Android開發(fā)場景

2020-09-21 05:54:45

Promise APIJSCSS

2019-08-21 13:30:25

Node.jsSVG前端

2009-07-31 14:09:41

c#時間格式轉(zhuǎn)換

2023-08-25 14:47:56

TransFLACFLAC

2019-07-30 10:51:45

Markdown格式化文檔Linux

2018-10-07 22:59:24

Firefox 瀏覽器谷歌

2023-09-24 19:29:44

LinuxWebP圖像

2022-03-08 07:26:15

JPEGPNG圖像編輯器

2021-10-29 15:13:21

LinuxPDF文件

2009-12-24 15:59:46

WPF圖像格式

2009-07-15 16:56:59

Jython類型Java類型

2022-05-19 09:48:07

webp瀏覽器

2020-08-20 09:30:26

Python音頻文本格式

2017-03-02 11:58:31

NodeJS服務(wù)器

2024-09-09 18:17:25

PHP編程JSON格式

2021-09-04 17:26:31

SpringBoot轉(zhuǎn)換器參數(shù)

2021-08-09 05:21:52

微軟 Office Buil應(yīng)用

2011-04-08 10:16:13

文本文件ACCESS數(shù)據(jù)庫

2016-12-13 13:50:06

JAVA轉(zhuǎn)換Base64
點贊
收藏

51CTO技術(shù)棧公眾號