如何使用 Java 將圖像文件轉(zhuǎn)換為 GIF 或 WebP 格式
了解如何將數(shù)十種常見(jiàn)的圖像文件類(lèi)型(包括但不限于 PNG 和 JPG)分別轉(zhuǎn)換為 GIF 和 WebP 格式。
如果我們準(zhǔn)備在線(xiàn)為特定目的重新格式化圖像,我們選擇的新格式需要準(zhǔn)確反映我們?cè)O(shè)想的用例。否則,我們會(huì)在不經(jīng)意間扼殺我們自己的效率,最重要的是,冒著降低網(wǎng)頁(yè)加載速度的風(fēng)險(xiǎn)。對(duì)于大多數(shù)文件格式選擇也是如此:我們不會(huì)使用 Microsoft Word 創(chuàng)建電子表格,也不會(huì)使用 Excel 撰寫(xiě)論文(盡管從技術(shù)上講兩者都可以)。
選擇使用哪種圖像格式需要我們考慮我們期望該文件服務(wù)的確切目的。雖然我們?cè)诰W(wǎng)上遇到的最普遍的格式——即JPG 和 PNG——為它們各自的用例提供了眾所周知的好處,但它們?cè)谀承╆P(guān)鍵領(lǐng)域也存在不足。例如,雖然 JPG 格式由于其高度壓縮(允許網(wǎng)頁(yè)運(yùn)行得更快)而被廣泛用于網(wǎng)站頁(yè)面,但這種壓縮程度會(huì)犧牲大量的圖像質(zhì)量,我們可能并不總是愿意失去. 雖然 PNG 是一種具有內(nèi)置透明度功能的無(wú)損格式——非常適合在純色背景上顯示圖形、徽標(biāo)和插圖等內(nèi)容——但它明顯缺乏適應(yīng)常見(jiàn)在線(xiàn)用例(如圖像動(dòng)畫(huà))的能力當(dāng)需要時(shí)。
對(duì)于我們更專(zhuān)業(yè)的格式要求,我們可以求助于其他常見(jiàn)的圖像格式——無(wú)論是舊的還是新的——來(lái)實(shí)現(xiàn)我們的目標(biāo)。GIF 格式已經(jīng)有 30 多年的歷史了——它比最初的萬(wàn)維網(wǎng)還要早——但它獨(dú)特地允許創(chuàng)建基本的逐幀動(dòng)畫(huà),并且它還允許網(wǎng)頁(yè)以更高的速度加載這些動(dòng)畫(huà)速度比同類(lèi)方法(例如,傳統(tǒng)的視頻插件)可以。 WebP 格式——由谷歌在 10 多年前創(chuàng)建——足夠新,它仍然缺乏與許多網(wǎng)站的上傳兼容性,但它的優(yōu)勢(shì)是不可否認(rèn)的:它不僅比 JPG 提供超過(guò) 20% 的壓縮率,而且PNG,但它允許有損和無(wú)損壓縮,確保我們并不總是需要在圖像質(zhì)量和網(wǎng)頁(yè)加載速度之間進(jìn)行選擇。
鑒于這些常見(jiàn)圖像格式的不同用例,格式之間的轉(zhuǎn)換是許多內(nèi)容專(zhuān)業(yè)人員的日常需求,這種需求鼓勵(lì)采購(gòu)能夠大規(guī)模高效執(zhí)行轉(zhuǎn)換的服務(wù)。下面,我將演示如何利用兩種 API 解決方案,幫助將數(shù)十種常見(jiàn)圖像文件類(lèi)型(包括但不限于 PNG 和 JPG)分別轉(zhuǎn)換為 GIF 和 WebP 格式。
示范
下面,我提供了 Java 代碼示例來(lái)幫助您構(gòu)建對(duì)上述兩種圖像格式轉(zhuǎn)換 API 解決方案的 API 調(diào)用。此外,我還提供了幫助您使用 Maven 或 Gradle 安裝圖像轉(zhuǎn)換 API 客戶(hù)端的說(shuō)明(取決于您的偏好)。
要使用 Maven 開(kāi)始 API 客戶(hù)端安裝階段,我們的第一步是在 pom.xml 中添加對(duì)存儲(chǔ)庫(kù)的引用:
之后,我們需要添加以下依賴(lài)引用,這將允許 JitPack 動(dòng)態(tài)編譯庫(kù):
要使用Gradle安裝,我們需要首先將以下代碼段添加到根 build.gradle(在存儲(chǔ)庫(kù)的末尾):
然后,總結(jié)一下,我們需要在 build.gradle 中添加依賴(lài)項(xiàng):
安裝步驟完成后,我們現(xiàn)在可以為每個(gè) API 解決方案添加導(dǎo)入,然后直接調(diào)用它們各自的函數(shù)。在我們這樣做之前,我想快速指出,在下面提供的每個(gè)函數(shù)中,都有一個(gè)身份驗(yàn)證字段(在導(dǎo)入下方,由代碼注釋指示)捕獲 API 密鑰輸入。在 Cloudmersive 網(wǎng)站上注冊(cè)免費(fèi)層 API 密鑰后,您只需將 API 密鑰字符串復(fù)制并粘貼到相應(yīng)字段中,即可完成API 密鑰身份驗(yàn)證步驟。
要將圖像轉(zhuǎn)換為 GIF 格式,我們將調(diào)用以下函數(shù)。我們需要做的就是在imageFile字段中包含我們的圖像文件路徑,然后我們就完成了:
要將圖像轉(zhuǎn)換為 WebP 格式,我們將調(diào)用以下函數(shù)。就像以前一樣,只需在imageFile字段中包含您的文件路徑,您就完成了:
每個(gè) API 解決方案都可以從數(shù)十種常見(jiàn)的圖像格式進(jìn)行轉(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