RosettaCodeData/Task/Bitmap-Read-an-image-through-a-pipe/Go/bitmap-read-an-image-through-a-pipe.go

31 lines
605 B
Go
Raw Permalink Normal View History

2013-04-10 16:19:29 -07:00
package main
// Files required to build supporting package raster are found in:
// * Bitmap
// * Read a PPM file
// * Write a PPM file
import (
2016-12-05 22:15:40 +01:00
"log"
2013-04-10 16:19:29 -07:00
"os/exec"
"raster"
)
func main() {
2016-12-05 22:15:40 +01:00
c := exec.Command("convert", "Unfilledcirc.png", "-depth", "1", "ppm:-")
2013-04-10 16:19:29 -07:00
pipe, err := c.StdoutPipe()
if err != nil {
2016-12-05 22:15:40 +01:00
log.Fatal(err)
2013-04-10 16:19:29 -07:00
}
2016-12-05 22:15:40 +01:00
if err = c.Start(); err != nil {
log.Fatal(err)
2013-04-10 16:19:29 -07:00
}
b, err := raster.ReadPpmFrom(pipe)
if err != nil {
2016-12-05 22:15:40 +01:00
log.Fatal(err)
2013-04-10 16:19:29 -07:00
}
2016-12-05 22:15:40 +01:00
if err = b.WritePpmFile("Unfilledcirc.ppm"); err != nil {
log.Fatal(err)
2013-04-10 16:19:29 -07:00
}
}