自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Node.js中將SVG圖像轉(zhuǎn)換為PNG,JPEG,TIFF,WEBP和HEIF格式

開發(fā) 前端
你需要將SVG文件轉(zhuǎn)換為PNG、JPEG、TIFF、WEBP 和 HEIF 格式嗎?本文將指導(dǎo)你如何轉(zhuǎn)換為所有這些類型的格式。

介紹

你需要將SVG文件轉(zhuǎn)換為PNG、JPEG、TIFF、WEBP 和 HEIF 格式嗎?本文將指導(dǎo)你如何轉(zhuǎn)換為所有這些類型的格式。

我們將使用 Node.js 和Sharp npm 包來(lái)完成大部分繁重的工作。

目錄

  1.  安裝 Sharp Npm 包
  2.  SVG 轉(zhuǎn) PNG
  3.  SVG 轉(zhuǎn) JPEG
  4.  SVG 轉(zhuǎn) TIFF
  5.  SVG 轉(zhuǎn) WEBP
  6.  SVG 轉(zhuǎn) HEIF

安裝Sharp Npm Package

首先你需要安裝 npm 包。你可以使用下面的 npm 或 yarn 命令安裝:

Npm 

  1. $ npm install sharp --save 

Yarn 

  1. $ yarn add sharp 

現(xiàn)在我們已經(jīng)準(zhǔn)備好開始編寫一些代碼并轉(zhuǎn)換圖像了!

SVG 轉(zhuǎn) PNG

對(duì)于第一個(gè)例子,我們將 SVG文 件轉(zhuǎn)換為可移植網(wǎng)絡(luò)圖形(PNG)文件格式。確保你在項(xiàng)目目錄的根目錄中有一個(gè)可用的 SVG 文件。

這是完整的代碼: 

  1. // Node.js  
  2. const sharp = require("sharp")  
  3. sharp("file.svg")  
  4.     .png()  
  5.     .toFile("new-file.png")  
  6.     .then(function(info) {  
  7.         console.log(info)  
  8.     })  
  9.     .catch(function(err) {  
  10.         console.log(err)  
  11.      }) 

讓我們分解代碼的每個(gè)部分:

  1.  首先,導(dǎo)入 sharp 包并將其保存在 sharp 變量中。
  2.  然后,我們用 sharp 包來(lái)讀取我們的 file.svg 文件,將其轉(zhuǎn)換為 PNG 并使用 .toFile() 函數(shù)將新的 PNG文件寫入你的目錄。
  3.  sharp 方法是一個(gè) promise,我們用它來(lái)獲取文件的 info。
  4.  最后,我們用 .catch() 方法來(lái)捕獲并 console.log() 所有錯(cuò)誤。

當(dāng)你運(yùn)行代碼時(shí),應(yīng)該得到類似的輸出: 

  1.  
  2.     format: 'png',  
  3.     width: 2500,  
  4.     height: 527,  
  5.     channels: 4,  
  6.     premultiplied: false,  
  7.     size: 47194  

你應(yīng)該能夠在項(xiàng)目目錄中看到新的 PNG 文件。

還可以將其他選項(xiàng)傳遞給 .png() 方法來(lái)更改輸出圖像。這些包括壓縮級(jí)別、質(zhì)量、顏色等。你可以在文檔中查看它們。

SVG 轉(zhuǎn) JPEG

現(xiàn)在,讓我們將 SVG 文件轉(zhuǎn)換為 JPEG 格式。確保項(xiàng)目目錄的根目錄中有一個(gè) SVG 文件可供使用。

這是完整的代碼: 

  1. const sharp = require("sharp")  
  2. sharp("file.svg")  
  3.     .png()  
  4.     .toFile("new-file.jpg")  
  5.     .then(function(info) {  
  6.         console.log(info)  
  7.     })  
  8.     .catch(function(err) {  
  9.         console.log(err)  
  10.     }) 

當(dāng)運(yùn)行代碼時(shí),你應(yīng)該得到類似的輸出: 

  1.  
  2.    format: 'jpg',  
  3.    width: 2500,  
  4.    height: 527,  
  5.    channels: 4,  
  6.    premultiplied: false,  
  7.    size: 47194  

你應(yīng)該在項(xiàng)目目錄中看到新的JPEG文件。

文檔:http://sharp.pixelplumbing.co...。

SVG 轉(zhuǎn) TIFF

接下來(lái),讓我們將SVG文件轉(zhuǎn)換為標(biāo)記圖像文件格式(TIFF)文件。確保你在項(xiàng)目目錄的根目錄中有一個(gè)我們可以使用的SVG文件。

這是完整的代碼: 

  1. const sharp = require("sharp")  
  2. sharp("file.svg")  
  3.   .tiff()  
  4.   .toFile("new-file.tiff")  
  5.   .then(function(info) {  
  6.     console.log(info)  
  7.   })  
  8.   .catch(function(err) {  
  9.     console.log(err)  
  10.   }) 

當(dāng)你運(yùn)行代碼時(shí),應(yīng)該得到類似的輸出: 

  1.  
  2.     format: 'tiff',  
  3.     width: 2500,  
  4.     height: 527,  
  5.     channels: 3,  
  6.     premultiplied: false,  
  7.     size: 65778  

你應(yīng)該在項(xiàng)目目錄中看到新的TIFF文件。

文檔:http://sharp.pixelplumbing.co...。

SVG到WEBP

接下來(lái),將 SVG 文件轉(zhuǎn)換為 WEBP 文件格式。確保你在項(xiàng)目目錄的根目錄中有一個(gè)我們可以使用的SVG文件。

這是完整的代碼: 

  1. const sharp = require("sharp")  
  2. sharp("file.svg")  
  3.   .webp()  
  4.   .toFile("new-file.webp")  
  5.   .then(function(info) {  
  6.     console.log(info)  
  7.   })  
  8.   .catch(function(err) {  
  9.     console.log(err)  
  10.   }) 

輸出: 

  1.  
  2.   format: 'webp',  
  3.   width: 2500, 
  4.    height: 527,  
  5.   channels: 4,  
  6.   premultiplied: false,  
  7.   size: 35600  

你應(yīng)該在項(xiàng)目目錄中看到新的WEBP文件。

文檔:http://sharp.pixelplumbing.co...

SVG到HEIF

最后一個(gè)例子,讓我們將 SVG 文件轉(zhuǎn)換為高效圖像文件(HEIF)格式。確保你在項(xiàng)目目錄的根目錄中有一個(gè)可用的SVG文件。

這是完整的代碼: 

  1. const sharp = require("sharp")  
  2. sharp("file.svg")  
  3.   .png()  
  4.   .toFile("new-file.heif")  
  5.   .then(function(info) {  
  6.     console.log(info)  
  7.   })  
  8.   .catch(function(err) {  
  9.     console.log(err)  
  10.   }) 

你還應(yīng)該在項(xiàng)目目錄中看到新的HEIF文件。

文檔: http://sharp.pixelplumbing.co...。

結(jié)論

希望本文能幫助你完成編碼工作! 

 

責(zé)任編輯:龐桂玉 來(lái)源: segmentfault
相關(guān)推薦

2022-05-23 08:23:51

圖片處理項(xiàng)目AVIF

2022-12-25 16:15:38

HTMLJava可視化文檔

2023-11-22 08:21:25

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

2022-10-12 08:00:00

語(yǔ)音識(shí)別Node.js音頻質(zhì)量

2020-11-11 10:09:06

Node.jsPromise前端

2022-11-01 16:20:56

Java圖像文件圖像文件類型

2024-06-24 00:00:00

AVIFJPEG圖像格式

2015-11-24 09:53:22

AngularJSXMLJSON

2021-06-07 12:20:14

LinuxASCII命令

2024-11-07 16:03:09

計(jì)算機(jī)視覺(jué)圖像圖像處理 處理深度學(xué)習(xí)

2014-03-07 13:43:32

Node.jsNode

2012-03-09 09:11:29

Node.js

2013-11-01 09:34:56

Node.js技術(shù)

2015-03-10 10:59:18

Node.js開發(fā)指南基礎(chǔ)介紹

2017-04-10 13:28:32

Node.jsJavaScript

2024-09-18 08:00:05

C#編程

2024-03-04 00:06:00

位圖GIF矢量圖

2011-09-09 14:23:13

Node.js

2011-11-01 10:30:36

Node.js

2011-09-08 13:46:14

node.js
點(diǎn)贊
收藏

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