robotgo/examples/bitmap-bytes/main.go

35 lines
599 B
Go

package main
import (
"bytes"
"log"
"image/jpeg"
"io/ioutil"
"github.com/go-vgo/robotgo"
"golang.org/x/image/bmp"
)
func main() {
bitMap := robotgo.CaptureScreen()
defer robotgo.FreeBitmap(bitMap)
bs := robotgo.ToBitmapBytes(bitMap)
img, err := bmp.Decode(bytes.NewReader(bs))
if err != nil {
log.Println("bmp.Decode err is: ", err)
return
}
b := new(bytes.Buffer)
err = jpeg.Encode(b, img, &jpeg.Options{Quality: 20})
if err != nil {
log.Println("jpeg.Encode err is: ", err)
return
}
log.Println("bytes: ", b.Bytes())
ioutil.WriteFile("out.jpg", b.Bytes(), 0666)
}