(原) golang截屏功能库

注意:原创文章,请后转载,转载需注明出处。

支持 Windows、Mac、Linux、FreeBSD、OpenBSD、NetBSD 和 Solaris 环境。支持多显示器。
直接看代码。

 package main

 import (
 	"github.com/kbinani/screenshot"
 	"image/png"
 	"os"
 	"fmt"
 )

 func main() {
 	n := screenshot.NumActiveDisplays()

 	for i := 0; i < n; i++ {
 		bounds := screenshot.GetDisplayBounds(i)

 		img, err := screenshot.CaptureRect(bounds)
 		if err != nil {
 			panic(err)
 		}
 		fileName := fmt.Sprintf("%d_%dx%d.png", i, bounds.Dx(), bounds.Dy())
 		file, _ := os.Create(fileName)
 		defer file.Close()
 		png.Encode(file, img)

 		fmt.Printf("#%d : %v \"%s\"\n", i, bounds, fileName)
 	}
 }

相关文章