50 lines
834 B
Go
50 lines
834 B
Go
//go:build ignore
|
|
|
|
// works as i wanted
|
|
|
|
package main
|
|
|
|
import (
|
|
"image"
|
|
"image/color"
|
|
"image/png"
|
|
"image/jpeg"
|
|
"os"
|
|
"git.nkpl.cc/twocookedfaggots/imageutils"
|
|
"git.nkpl.cc/twocookedfaggots/imageutils/http/blank"
|
|
)
|
|
|
|
func BlankFillWhite(img image.Image) image.Image {
|
|
dy := img.Bounds().Dy()
|
|
up, down := dy*2/3, dy*1/3
|
|
for i := 0; i < up; i++ {
|
|
img = blank.Blank(img, color.White, imageutils.Up)
|
|
}
|
|
for i := 0; i < down; i++ {
|
|
img = blank.Blank(img, color.White, imageutils.Down)
|
|
}
|
|
return img
|
|
}
|
|
|
|
func ProcessImageStdio(f func(image.Image) image.Image) error {
|
|
img, err := jpeg.Decode(os.Stdin)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
img = f(img)
|
|
err = png.Encode(os.Stdout, img)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func main() {
|
|
err := ProcessImageStdio(
|
|
BlankFillWhite,
|
|
)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|