溫馨提示×

Go語言圖片處理怎樣進行格式轉換

小樊
141
2024-11-07 12:40:38
欄目: 編程語言

在Go語言中,可以使用第三方庫github.com/nfnt/resize進行圖片處理,包括格式轉換。首先,需要安裝這個庫:

go get github.com/nfnt/resize

接下來,可以使用以下代碼示例將圖片轉換為不同的格式:

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
	}

	// 調整圖片大小
	resizedImg := resize.Resize(100, 0, img, resize.Lanczos3)

	// 轉換圖片格式為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!")
}

在這個示例中,我們首先打開一個名為input.jpg的圖片文件,然后使用image.Decode函數解碼圖片。接下來,我們使用resize.Resize函數調整圖片大小。最后,我們將調整后的圖片轉換為PNG格式,并將結果保存到名為output.png的文件中。

注意:這個示例僅適用于JPEG和PNG格式的圖片。如果要處理其他格式,例如GIF,需要使用相應的解碼和編碼庫。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女