Node.js使用sharp庫(kù)實(shí)現(xiàn)PNG圖片轉(zhuǎn)換為WebP格式
1. 安裝 Sharp
首先,你需要在項(xiàng)目中安裝 sharp
。在終端中運(yùn)行以下命令:
npm install sharp
2. 編寫轉(zhuǎn)換代碼
接下來,你可以編寫一個(gè)簡(jiǎn)單的腳本來執(zhí)行轉(zhuǎn)換。以下是一個(gè)示例代碼,展示了如何將 PNG 圖片轉(zhuǎn)換為 WebP 格式:
// convert.js const sharp = require('sharp'); const path = require('path'); const fs = require('fs'); // 輸入和輸出文件路徑 const inputFilePath = path.join(__dirname, 'input.png'); // 替換為你的 PNG 文件路徑 const outputFilePath = path.join(__dirname, 'output.webp'); // 輸出的 WebP 文件路徑 // 檢查輸入文件是否存在 if (!fs.existsSync(inputFilePath)) { console.error('輸入文件不存在'); process.exit(1); } // 使用 sharp 進(jìn)行轉(zhuǎn)換 sharp(inputFilePath) .toFile(outputFilePath, (err, info) => { if (err) { console.error('轉(zhuǎn)換失敗:', err); } else { console.log('轉(zhuǎn)換成功:', info); } });
3. 運(yùn)行轉(zhuǎn)換腳本
將上述代碼保存為 convert.js
,然后在終端中運(yùn)行以下命令:
node convert.js
4. 結(jié)果
如果一切正常,腳本將會(huì)讀取指定的 PNG 文件并將其轉(zhuǎn)換為 WebP 格式,輸出到指定的路徑。你可以在輸出路徑中找到生成的 output.webp
文件。
5. 其他選項(xiàng)
sharp
還提供了許多其他選項(xiàng),可以在轉(zhuǎn)換時(shí)進(jìn)行調(diào)整,例如設(shè)置質(zhì)量、調(diào)整尺寸等。以下是一個(gè)示例,展示了如何設(shè)置 WebP 的質(zhì)量:
sharp(inputFilePath) .webp({ quality: 80 }) // 設(shè)置質(zhì)量為 80 .toFile(outputFilePath, (err, info) => { // ... });
總結(jié)
使用 sharp
庫(kù)可以方便地將 PNG 圖片轉(zhuǎn)換為 WebP 格式,并且支持多種圖像處理功能。通過簡(jiǎn)單的代碼,你可以實(shí)現(xiàn)高效的圖像格式轉(zhuǎn)換。
到此這篇關(guān)于Node.js使用sharp庫(kù)實(shí)現(xiàn)PNG圖片轉(zhuǎn)換為WebP格式的文章就介紹到這了,更多相關(guān)Node.js PNG圖轉(zhuǎn)webP內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
npm?ERR!Cannot?read?properties?of?null(reading?'p
這篇文章主要給大家介紹了關(guān)于npm?ERR!Cannot?read?properties?of?null(reading?'pickAlgorithm')報(bào)錯(cuò)問題的解決方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03基于node打包可執(zhí)行文件工具_(dá)Pkg使用心得分享
下面小編就為大家分享一篇基于node打包可執(zhí)行文件工具_(dá)Pkg使用心得分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01nodejs結(jié)合Socket.IO實(shí)現(xiàn)websocket即時(shí)通訊
websocket 是一種網(wǎng)絡(luò)通信協(xié)議,一般用來進(jìn)行實(shí)時(shí)通信會(huì)使用到。本文主要介紹了nodejs結(jié)合Socket.IO實(shí)現(xiàn)websocket即時(shí)通訊 ,感興趣的可以了解一下2021-11-11Node.JS發(fā)送http請(qǐng)求批量檢查文件中的網(wǎng)頁(yè)地址、服務(wù)是否有效可用
這篇文章主要介紹了Node.JS發(fā)送http請(qǐng)求批量檢查文件中的網(wǎng)頁(yè)地址、服務(wù)是否有效可用,本文通過實(shí)例代碼文字說明給大家講解的非常詳細(xì),需要的朋友參考下2019-11-11在Node.js下運(yùn)用MQTT協(xié)議實(shí)現(xiàn)即時(shí)通訊及離線推送的方法
這篇文章主要介紹了在Node.js下運(yùn)用MQTT協(xié)議實(shí)現(xiàn)即時(shí)通訊及離線推送的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01