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

如果我們準備在線為特定目的重新格式化圖像,我們選擇的新格式需要準確反映我們設想的用例。否則,我們會在不經意間扼殺我們自己的效率,最重要的是,冒著降低網頁加載速度的風險。對于大多數文件格式選擇也是如此:我們不會使用
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 中添加對存儲庫的引用:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
之后,我們需要添加以下依賴引用,這將允許 JitPack 動態編譯庫:
<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' }
}
}
然后,總結一下,我們需要在 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