golang에서 스크린샷을 찍는 방법

PHPz
풀어 주다: 2023-04-23 15:06:37
원래의
1399명이 탐색했습니다.

Golang은 효율적인 웹 서비스 및 애플리케이션을 개발하는 데 사용되는 인기 있는 프로그래밍 언어입니다. 스크린샷을 찍는 것은 개발 과정에서 매우 유용한 기술이며, 코드를 확인하거나 결과를 공유하는 데 도움이 됩니다. 이 기사에서는 Golang을 사용하여 스크린샷을 찍는 방법을 소개합니다.

Golang에서는 타사 라이브러리를 사용하여 스크린샷을 구현할 수 있습니다. 가장 인기 있는 라이브러리는 mitchellh/go-ps 및 kbinani/screenshot입니다. mitchellh/go-ps는 프로세스 정보를 얻는 데 사용되며 스크린샷이 필요한 프로세스 ID를 찾는 데 사용할 수 있으며, kbinani/screenshot은 스크린샷을 찍는 데 사용됩니다.

먼저 이 라이브러리를 가져와야 합니다. 터미널에서 다음 명령을 실행하여 간단히 설치할 수 있습니다.

go get github.com/mitchellh/go-ps go get github.com/kbinani/screenshot
로그인 후 복사

이제 mitchellh/go-ps 라이브러리를 사용하여 실행 중인 프로세스 목록을 가져올 수 있습니다. 다음 코드 조각을 사용하여 이 작업을 수행할 수 있습니다.

processes, err := ps.Processes() if err != nil { panic(err) } for _, process := range processes { fmt.Println(process.Pid(), process.Executable()) }
로그인 후 복사

이 코드는 실행 중인 모든 프로세스의 ID와 실행 파일 이름을 인쇄합니다. 필요에 따라 필터링할 수 있습니다.

다음으로 캡처하려는 화면 영역을 결정해야 합니다. kbinani/screenshot의 Size() 함수를 사용하여 현재 화면 해상도를 얻을 수 있습니다. 차단해야 하는 영역을 수동으로 정의할 수도 있습니다.

bounds := image.Rect(0, 0, 800, 600) // 截取区域左上角和右下角坐标 img, err := screenshot.CaptureRect(bounds) if err != nil { panic(err) }
로그인 후 복사

이 코드는 특정 영역 내의 스크린샷을 캡처하여 img 변수에 저장합니다. image/png 패키지를 사용하여 PNG 파일로 저장할 수 있습니다.

file, err := os.Create("screenshot.png") if err != nil { panic(err) } defer file.Close() err = png.Encode(file, img) if err != nil { panic(err) }
로그인 후 복사

전체 코드 예시는 다음과 같습니다.

package main import ( "fmt" "image" "image/png" "os" "github.com/kbinani/screenshot" "github.com/mitchellh/go-ps" ) func main() { // 获取进程列表 processes, err := ps.Processes() if err != nil { panic(err) } for _, process := range processes { fmt.Println(process.Pid(), process.Executable()) } // 截取屏幕截图 bounds := image.Rect(0, 0, 800, 600) img, err := screenshot.CaptureRect(bounds) if err != nil { panic(err) } // 将截图保存到PNG文件中 file, err := os.Create("screenshot.png") if err != nil { panic(err) } defer file.Close() err = png.Encode(file, img) if err != nil { panic(err) } fmt.Println("截图已保存到screenshot.png文件中") }
로그인 후 복사

이 글의 소개를 통해 Golang을 활용한 스크린샷 찍는 기술을 익히셨기를 바랍니다. 스크린샷은 앱을 개발할 때 매우 유용한 도구입니다. 따라서 이 기술을 사용하여 작업 흐름을 간소화할 수 있습니다.

위 내용은 golang에서 스크린샷을 찍는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!