Go言語でカレントディレクトにあるjpgファイルをpngファイルに変換する処理についてです。
png.Encode(out, img) を実行すると、実行時エラーでSIGSEGVが発生してしまうのですが、
具体的にどの処理が悪いのか検討が付かず、アドバイスをいただきたいです・・・。
Go
1package main 2 3import ( 4 "image" 5 "image/png" 6 "os" 7) 8 9func main() { 10 // Original image 11 f, _ := os.Open("./cat.jpg") 12 img, _, _ := image.Decode(f) 13 defer f.Close() 14 15 // Conveted image 16 out, _ := os.Create("./cat.png") 17 defer out.Close() 18 png.Encode(out, img) 19}
エラー出力
anic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x10c88ba]
goroutine 1 [running]:
image/png.(*Encoder).Encode(0xc00000c0a0, 0x1119c80, 0xc00000e088, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/image/png/writer.go:569 +0x5a
image/png.Encode(...)
/usr/local/go/src/image/png/writer.go:561
main.main()
...tmp.go:18 +0x151
exit status 2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/23 11:26