java實(shí)現(xiàn)將Webp轉(zhuǎn)為jpg格式方式
java實(shí)現(xiàn)Webp轉(zhuǎn)為jpg格式
直接上工具
需要的相關(guān)依賴:<!--webp 轉(zhuǎn)jpeg 依賴-->
<dependency> <groupId>org.sejda.imageio</groupId> <artifactId>webp-imageio</artifactId> <version>0.1.6</version> </dependency>
代碼展示:
import com.luciad.imageio.webp.WebPImageReaderSpi; import com.luciad.imageio.webp.WebPImageWriterSpi; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.imageio.ImageIO; import javax.imageio.ImageReader; import javax.imageio.ImageWriter; import javax.imageio.spi.IIORegistry; import javax.imageio.stream.ImageInputStream; import javax.imageio.stream.ImageOutputStream; /** * <p> * webg圖片轉(zhuǎn)換為jpg * </p> * * @author 沙龍果 * @Filename JpegWebgClass * @since 2024/1/4 */ public class JpegWebgClass { public static void main(String[] args) { // 注冊(cè)WebP ImageIO插件 IIORegistry registry = IIORegistry.getDefaultInstance(); registry.registerServiceProvider(new WebPImageReaderSpi()); registry.registerServiceProvider(new WebPImageWriterSpi()); List<String> webpList = new ArrayList<>(); webpList.add("C:\\Users\\Administrator\\Desktop\\changku\\src\\main\\resources\\upload\\2.webp"); webpList.add("C:\\Users\\Administrator\\Desktop\\changku\\src\\main\\resources\\upload\\3.webp"); webpList.add("C:\\Users\\Administrator\\Desktop\\changku\\src\\main\\resources\\upload\\4.webp"); int i = 1; for (String webp : webpList) { try { // 讀取WebP格式圖片 File input = new File(webp); ImageInputStream inputStream = ImageIO.createImageInputStream(input); ImageReader reader = ImageIO.getImageReadersByMIMEType("image/webp").next(); reader.setInput(inputStream); BufferedImage image = reader.read(0); // 將圖片轉(zhuǎn)換為JPG格式 String m = "C:\\Users\\Administrator\\Desktop\\changku\\src\\main\\resources\\jpeg\\"; String jpeg = "webp" + (i++) + ".jpeg"; File output = new File(m + jpeg); ImageOutputStream outputStream = ImageIO.createImageOutputStream(output); ImageWriter writer = ImageIO.getImageWritersByFormatName("jpeg").next(); writer.setOutput(outputStream); writer.write(image); // 關(guān)閉IO流 inputStream.close(); outputStream.close(); reader.dispose(); writer.dispose(); } catch (IOException e) { e.printStackTrace(); } } } }
如何將webp轉(zhuǎn)成jpg(代碼,在線工具)
越來(lái)越多的網(wǎng)站開(kāi)始采用WebP作為網(wǎng)站圖片展示格式,例如百度,幾乎全部都采用了WebP進(jìn)行圖片展示,用來(lái)提高網(wǎng)站的圖片加載速度和用戶體驗(yàn)。但是WebP在分享和預(yù)覽上存在很多問(wèn)題,目前并沒(méi)有被廣泛接受。那么如何將WebP快速轉(zhuǎn)換成標(biāo)準(zhǔn)的JPG格式了??梢杂靡韵碌姆绞?。
1. Windows平臺(tái)
>>>> from PIL import Image >>>> im = Image.open("text.webp").convert("RGB") >>>> im.save("test.jpg", "jpeg")
這是通過(guò)Python將WebP轉(zhuǎn)換成jpeg
2. Mac平臺(tái)
安裝imagemagick,通過(guò)imagemagick的terminal命令行將webp轉(zhuǎn)換成jpg
>>> brew install imagemagick >>> magick input.webp output.jpg
3. 在線工具
使用AnyWebP免上傳轉(zhuǎn)換webp為JPG,百分百免費(fèi)。
網(wǎng)址:WebP to jpg
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
spring?boot使用@Async注解解決異步多線程入庫(kù)的問(wèn)題
最近在寫(xiě)項(xiàng)目是需要添加異步操作來(lái)提高效率,所以下面這篇文章主要給大家介紹了關(guān)于spring?boot使用@Async注解解決異步多線程入庫(kù)問(wèn)題的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05Springboot如何配置yml文件與映射到j(luò)ava類(lèi)
這篇文章主要介紹了Springboot如何配置yml文件與映射到j(luò)ava類(lèi)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09JavaWeb中請(qǐng)求轉(zhuǎn)發(fā)和請(qǐng)求重定向的區(qū)別以及使用
今天帶大家學(xué)習(xí)JavaWeb的相關(guān)知識(shí),文章圍繞著JavaWeb中請(qǐng)求轉(zhuǎn)發(fā)和請(qǐng)求重定向的區(qū)別以及使用展開(kāi),文中有非常詳細(xì)的介紹,需要的朋友可以參考下2021-06-06SpringCloud微服務(wù)之Config知識(shí)總結(jié)
今天帶大家學(xué)習(xí)SpringCloud微服務(wù)中的Config的相關(guān)知識(shí),文中有非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)SpringCloud微服務(wù)的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05Spring Batch遠(yuǎn)程分區(qū)的本地Jar包模式的代碼詳解
這篇文章主要介紹了Spring Batch遠(yuǎn)程分區(qū)的本地Jar包模式,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09Spring的Aware接口實(shí)現(xiàn)及執(zhí)行順序詳解
這篇文章主要為大家介紹了Spring的Aware接口實(shí)現(xiàn)及執(zhí)行順序詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12