go语言实现heic格式图片批量转换为JPG格式
时间: 2023-12-10 15:04:37 浏览: 253
在Go语言中,你可以使用第三方库来实现HEIC格式图片批量转换为JPG格式。一个常用的库是github.com/dsoprea/go-heic-convert。以下是一个简单的示例代码:
```go
package main
import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
"github.com/dsoprea/go-heic-convert/convert"
)
func main() {
// 输入HEIC图片所在文件夹路径
inputDir := "/path/to/input/directory"
// 输出JPG图片所在文件夹路径
outputDir := "/path/to/output/directory"
// 获取输入文件夹下的所有HEIC文件
files, err := ioutil.ReadDir(inputDir)
if err != nil {
fmt.Printf("无法读取输入文件夹:%v\n", err)
os.Exit(1)
}
// 遍历每个HEIC文件并进行转换
for _, file := range files {
if !file.IsDir() && filepath.Ext(file.Name()) == ".heic" {
inputFile := filepath.Join(inputDir, file.Name())
outputFile := filepath.Join(outputDir, file.Name()+".jpg")
err = convert.ConvertHEICFile(inputFile, outputFile)
if err != nil {
fmt.Printf("转换失败:%s\n", inputFile)
} else {
fmt.Printf("转换成功:%s\n", inputFile)
}
}
}
}
```
请确保在运行代码之前,你已经安装了`github.com/dsoprea/go-heic-convert`库。可以使用以下命令进行安装:
```shell
go get -u github.com/dsoprea/go-heic-convert/...
```
注意:该库依赖于ImageMagick和libheif库。在使用之前,请确保这两个库已经正确安装并配置好环境变量。
运行上述代码时,将输入文件夹路径和输出文件夹路径替换为实际的路径。代码将遍历输入文件夹中的所有HEIC文件,并将其转换为JPG格式并保存在输出文件夹中。转换成功的文件将打印在控制台上,而转换失败的文件将显示相应的错误消息。
阅读全文