在Go語言中,可以使用第三方庫(kù)github.com/nfnt/resize
進(jìn)行圖片處理,包括格式轉(zhuǎn)換。首先,需要安裝這個(gè)庫(kù):
go get github.com/nfnt/resize
接下來,可以使用以下代碼示例將圖片轉(zhuǎn)換為不同的格式:
package main
import (
"fmt"
"image/jpeg"
"image/png"
"os"
"github.com/nfnt/resize"
)
func main() {
// 打開圖片文件
file, err := os.Open("input.jpg")
if err != nil {
fmt.Println("Error opening file:", err)
return
}
defer file.Close()
// 解碼圖片
img, _, err := image.Decode(file)
if err != nil {
fmt.Println("Error decoding image:", err)
return
}
// 調(diào)整圖片大小
resizedImg := resize.Resize(100, 0, img, resize.Lanczos3)
// 轉(zhuǎn)換圖片格式為PNG
pngFile, err := os.Create("output.png")
if err != nil {
fmt.Println("Error creating PNG file:", err)
return
}
defer pngFile.Close()
err = png.Encode(pngFile, resizedImg)
if err != nil {
fmt.Println("Error encoding PNG image:", err)
return
}
fmt.Println("Image converted to PNG successfully!")
}
在這個(gè)示例中,我們首先打開一個(gè)名為input.jpg
的圖片文件,然后使用image.Decode
函數(shù)解碼圖片。接下來,我們使用resize.Resize
函數(shù)調(diào)整圖片大小。最后,我們將調(diào)整后的圖片轉(zhuǎn)換為PNG格式,并將結(jié)果保存到名為output.png
的文件中。
注意:這個(gè)示例僅適用于JPEG和PNG格式的圖片。如果要處理其他格式,例如GIF,需要使用相應(yīng)的解碼和編碼庫(kù)。