This commit is contained in:
41666 2024-11-03 22:39:52 -08:00
parent 7909fc9588
commit 988be32480
9 changed files with 421 additions and 1 deletions

60
cmd/ndiconv/main.go Normal file
View file

@ -0,0 +1,60 @@
package main
import (
"image"
"image/gif"
"image/jpeg"
"image/png"
"log"
"os"
"path"
"git.sapphic.engineer/noe/esi"
"git.sapphic.engineer/noe/ndi"
)
func main() {
convPath := os.Args[1]
outPath := os.Args[2]
fin, err := os.Open(convPath)
if err != nil {
log.Fatalln(err)
}
fout, err := os.OpenFile(outPath, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666)
if err != nil {
log.Fatalln(err)
}
img, _, err := image.Decode(fin)
if err != nil {
log.Fatalln(err)
}
fin.Close()
ext := path.Ext(outPath)
switch ext[1:] {
case "ndi":
err = ndi.Encode(fout, img, nil)
case "esi":
err = esi.Encode(fout, img)
case "png":
err = png.Encode(fout, img)
case "jpg":
fallthrough
case "jpeg":
err = jpeg.Encode(fout, img, nil)
case "gif":
err = gif.Encode(fout, img, nil)
default:
log.Fatalf("extension %s unknown", ext)
}
if err != nil {
log.Fatalln(err)
}
fout.Close()
}