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) }