偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

開(kāi)發(fā) 前端
了解如何將數(shù)十種常見(jiàn)的圖像文件類(lèi)型(包括但不限于 PNG 和 JPG)分別轉(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ù)的引用:

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

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

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

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

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

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

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

安裝步驟完成后,我們現(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字段中包含我們的圖像文件路徑,然后我們就完成了:

// 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();
}

每個(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

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

2023-11-22 08:21:25

Android開(kāi)發(fā)場(chǎng)景

2020-09-21 05:54:45

Promise APIJSCSS

2019-08-21 13:30:25

Node.jsSVG前端

2023-09-24 19:29:44

LinuxWebP圖像

2009-07-31 14:09:41

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

2018-10-07 22:59:24

Firefox 瀏覽器谷歌

2019-07-30 10:51:45

Markdown格式化文檔Linux

2023-08-25 14:47:56

TransFLACFLAC

2022-05-19 09:48:07

webp瀏覽器

2009-12-24 15:59:46

WPF圖像格式

2021-10-29 15:13:21

LinuxPDF文件

2009-07-15 16:56:59

Jython類(lèi)型Java類(lèi)型

2022-03-08 07:26:15

JPEGPNG圖像編輯器

2017-03-02 11:58:31

NodeJS服務(wù)器

2020-08-20 09:30:26

Python音頻文本格式

2021-08-09 05:21:52

微軟 Office Buil應(yīng)用

2021-09-04 17:26:31

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

2024-09-09 18:17:25

PHP編程JSON格式

2011-04-08 10:16:13

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

2023-07-24 16:32:30

點(diǎn)贊
收藏

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