All Projects → cretz → go-scrap

cretz / go-scrap

Licence: MIT license
Go library to capture screen pixels for screenshots or screen recording

Programming Languages

go
31211 projects - #10 most used programming language
rust
11053 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to go-scrap

ScreenEat
screenshot made delicious
Stars: ✭ 54 (-20.59%)
Mutual labels:  screenshot, screen-capture
android-capture
Capture video and screenshots from Android devices and emulators.
Stars: ✭ 32 (-52.94%)
Mutual labels:  screenshot, screen-capture
Screenshot
Go library to capture desktop to image
Stars: ✭ 545 (+701.47%)
Mutual labels:  screenshot, screen-capture
Menyoki
Screen{shot,cast} and perform ImageOps on the command line 🌱 🏞️
Stars: ✭ 255 (+275%)
Mutual labels:  screenshot, screen-capture
Swift Screencapture
A Swift framework to easily capture the screen on OS X.
Stars: ✭ 105 (+54.41%)
Mutual labels:  screenshot, screen-capture
Screen capture lite
cross platform screen/window capturing library
Stars: ✭ 340 (+400%)
Mutual labels:  screenshot, screen-capture
Upscreen
Capture your screen, upload to your own server.
Stars: ✭ 17 (-75%)
Mutual labels:  screenshot, screen-capture
Snapshots For Windows
Application for make and upload screenshots / Приложение для создания и загрузки скриншотов
Stars: ✭ 6 (-91.18%)
Mutual labels:  screenshot, screen-capture
Imgursniper
📷 A quick and easy Image, Screenshot and Screen recording sharing tool
Stars: ✭ 69 (+1.47%)
Mutual labels:  screenshot, screen-capture
Chart To Aws
Microservice to generate screenshot from a webpage and upload it to a AWS S3 Bucket.
Stars: ✭ 43 (-36.76%)
Mutual labels:  screenshot, screen-capture
dot-screencap
A screencapturing library
Stars: ✭ 31 (-54.41%)
Mutual labels:  screenshot, screen-capture
D3dshot
Extremely fast and robust screen capture on Windows with the Desktop Duplication API
Stars: ✭ 159 (+133.82%)
Mutual labels:  screenshot, screen-capture
autoscreen
Automated screen capture utility
Stars: ✭ 76 (+11.76%)
Mutual labels:  screenshot, screen-capture
Falcon
Take Android screenshots with Falcons bright eye!
Stars: ✭ 362 (+432.35%)
Mutual labels:  screenshot, screen-capture
Live-Desktop-Capture
A Live Desktop Capture using Go and WebSockets
Stars: ✭ 42 (-38.24%)
Mutual labels:  screenshot, screen-capture
Svg Screenshot
リンクもまるごとキャプチャしてSVGで出力するChromeスクリーンショット拡張機能
Stars: ✭ 31 (-54.41%)
Mutual labels:  screenshot, screen-capture
Screenshotty
A library for programatically capturing screenshots on Android
Stars: ✭ 141 (+107.35%)
Mutual labels:  screenshot, screen-capture
Sharex
ShareX is a free and open source program that lets you capture or record any area of your screen and share it with a single press of a key. It also allows uploading images, text or other types of files to many supported destinations you can choose from.
Stars: ✭ 18,143 (+26580.88%)
Mutual labels:  screenshot, screen-capture
yaf
Yet another system fetch that is minimal and customizable
Stars: ✭ 23 (-66.18%)
Mutual labels:  screenshot
LAN-Messenger
Official open-source repository for LAN Messenger
Stars: ✭ 17 (-75%)
Mutual labels:  screenshot

go-scrap GoDoc

go-scrap is a Go wrapper around the Rust scrap library. It supports reasonably fast capturing of raw screen pixels. The library dependency is only at compile time and statically compiled into the binary. It works on Windows, Linux, and macOS.

Building

Obtain the library, e.g. use go get with -d to not install yet:

go get -d github.com/cretz/go-scrap

Now, the Rust subproject scrap-sys must be compiled which is glue between the Go library and the Rust library. With Rust installed, this can is done by running the following in the scrap-sys/ subdirectory:

cargo build --release

Note: On Windows this must use the same gcc that Cgo would. Go does not support MSVC-compiled libraries yet. The easiest way to ensure this is with rustup by running rustup default stable-x86_64-pc-windows-gnu before building.

Note: On Linux this needs the X11 XCB libraries with the Shm and RandR extensions. On Ubuntu (18.04+ since RandR must be >= 1.12) they are packages named libx11-xcb-dev, libxcb-shm0-dev, and libxcb-randr0-dev respectively.

Now that the dependency is built, the library can be built. For example, take a screenshot:

go run ./example/screenshot

See the Godoc for more documentation and examples.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].