This plugin allows Flutter desktop apps to capture screenshots.

Overview

screen_capturer

pub version

This plugin allows Flutter desktop apps to capture screenshots.

Discord


Platform Support

MacOS Linux Windows
✔️ ✔️ ✔️

⚠️ macOS only supports non-sandbox mode.

Quick Start

Installation

Add this to your package's pubspec.yaml file:

dependencies:
  screen_capturer: ^0.1.0

Or

dependencies:
  screen_capturer:
    git:
      url: https://github.com/leanflutter/screen_capturer.git
      ref: main

Usage

import 'package:screen_capturer/screen_capturer.dart';

CapturedData? capturedData = await ScreenCapturer.instance.capture(
  imagePath: '<path>',
);

Please see the example app of this plugin for a full example.

License

MIT License

Copyright (c) 2021 LiJianying <[email protected]>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Comments
  • Are there any

    Are there any "implicit" method?

    I find this package actually does what keyboard shortcut win + shift + s does. Are there any function which capture screen implicitly (so it need some addtional permission)? I want to implement implicit capturing. Where, or in which website, shall I find this C++ API? Thank you.

    我发现这个包实际上是调用 Windows 系统的截图快捷键. 有没有那种调用函数直接无提示地截取指定 rect 的功能(这个功能或许需要额外的用户许可)? 如果我想自己实现这样的功能, 我应该去哪个网站查阅资料(估计是某个 windows C++ API)?

    英语不好, 如有错误还请指出, 谢谢

    opened by HaloWang 9
  • Silent 'True' is not working

    Silent 'True' is not working

    I have implemented this screen capture library. But it is giving me this photo capture animation.

    this is my code.

        await ScreenCapturer.instance.capture(
                        mode: CaptureMode.screen, // screen, window
                        imagePath: _finalDirectory + "/" +imageName,
                        silent: true,
                      );
    
    opened by VivekTpss 3
  • silent 这个字段好像没作用吧

    silent 这个字段好像没作用吧

    await ScreenCapturer.instance.capture( imagePath: "C:\hxs\product\hxs_${DateFormat("yyyyMMddHHmmss").format(DateTime.now())}.jpg", silent: true )

    silent不管是true还是false,都没法静默截图

    opened by qingtian0622 1
  • Add ATL dependencies setup steps for windows

    Add ATL dependencies setup steps for windows

    It's for people that do not have full Visual Studio Professional installed and have the basic tools flutter installed. Took me ~15 min to find the issue. Open Visual Studio Installer, press on Modify for VS 2019, go to Individual components, search for ATL and install last version for your processor architecture.

    opened by Far-Se 0
  • Capability to show popup of screenshot captured just like ios and android

    Capability to show popup of screenshot captured just like ios and android

    A flag that can be set as true or false to toggle this function. if true there will be a small popup on the right side of the screen that has currently captured the image and will be shown just for a second. if the flag is set to false no popup is displayed.

    opened by tbsmanish 0
  • store in variable without saving to disk

    store in variable without saving to disk

    Is it possible to store in variable without saving to disk?

    like the following?

    import 'package:screen_capturer/screen_capturer.dart';
    
    CapturedData? capturedData = await screenCapturer.capture(
      mode: CaptureMode.screen
    );
    
    opened by ashwin31 3
Releases(v0.1.3)
Owner
LeanFlutter
To make the flutter even simpler
LeanFlutter
This program allows superheroes to fight against one another. Below is a sample output:

SuperHeroFight This program allows superheroes to fight against one another. This was a fun project that familiarized myself with pointers, dynamic me

null 1 Oct 29, 2021
Allows a programmer to save/load configurations to/from filesystem in a structured way

fsconfig Allows a programmer to save/load configurations to/from filesystem in a structured way. Groups are mapped into directories, fields are mapped

null 7 Jul 7, 2022
Archive Extension Loader is a Cyberpunk 2077 mod that allows you to expand game resources that are currently not suitable for modifications without conflicts.

ArchiveXL Archive Extension Loader allows you to expand game resources that are currently not suitable for modifications without conflicts. Installati

Pavel Siberx 16 Nov 21, 2022
Allows a programmer to print table-like outputs over std::ostream.

tableprinter Allows a programmer to print table-like outputs over std::ostream. It is a header only library. No other dependency than STL. Provides re

null 24 Jul 7, 2022
SCST is a SCSI target software stack that allows to export any block device or file via iSCSI, FC or RDMA (SRP).

Overview This is the source code repository of the SCST project. SCST is a collection of Linux kernel drivers that implement SCSI target functionality

SCST 29 Dec 21, 2022
A thread-safe, easy-to-use, utility for sending and receiving notifications. It allows you to decouple different modules of your application.

NotificationManager NotificationManager is a thread-safe, easy-to-use utility for sending and receiving notifications. It allows you to decouple diffe

Carlos Aragonés 6 Dec 27, 2021
A texture compression algorithm for sprite sheets that allows decompression on the GPU during rendering.

CRABBY A texture compression format for spritesheets Crabby TL;DR Crabby is a compressed texture format for spritesheets and flipbook animations. What

Colt McAnlis 102 Nov 1, 2022
This plugin allows Flutter desktop apps to defines system tray.

tray_manager This plugin allows Flutter desktop apps to defines system tray. tray_manager Platform Support Quick Start Installation ⚠️ Linux requireme

LeanFlutter 122 Dec 22, 2022
This plugin allows Flutter desktop apps to Auto launch on startup / login.

This plugin allows Flutter desktop apps to Auto launch on startup / login.

LeanFlutter 45 Dec 18, 2022
This plugin allows Flutter desktop apps to defines system/inapp wide hotkey (i.e. shortcut).

hotkey_manager This plugin allows Flutter desktop apps to defines system/inapp wide hotkey (i.e. shortcut). hotkey_manager Platform Support Quick Star

LeanFlutter 82 Jan 6, 2023
A flutter plugin that runs a wayland compositor to stream textures onto flutter, allows creation of wayland based shells using flutter

flcompositor A new flutter plugin project. Getting Started This project is a starting point for a Flutter plug-in package, a specialized package that

Davide Bianco 3 Jan 10, 2022
An OBS plugin that allows capture of independant application audio streams on Windows, in a similar fashion to OBS's game capture and Discord's application streaming.

win-capture-audio An OBS plugin based on OBS's win-capture/game-capture that hooks WASAPI's audio output functions (rather than the various graphics A

Joe Kaushal 3k Jan 9, 2023
A Flutter package that makes it easy to customize and work with your Flutter desktop app's system tray.

system_tray A Flutter package that that enables support for system tray menu for desktop flutter apps. on Windows, macOS and Linux. Features: - Modify

AnTler 140 Dec 30, 2022
Convert ASF/AMC motion capture files to BVH motion capture files.

About amc2bvh is a utility that converts a pair of files, one in the Acclaim Skeleton Format (ASF) and the other in the Acclaim Motion Capture (AMC) f

Tom Copeland 9 Nov 10, 2022
Ksnip is a Qt-based cross-platform screenshot tool that provides many annotation features for your screenshots.

Ksnip is a Qt-based cross-platform screenshot tool that provides many annotation features for your screenshots.

ksnip 1.5k Jan 4, 2023
Hiding the window from screenshots using the function win32kfull::ChangeWindowTreeProtection

NoScreen This function is used in setwindowaffinity, but unlike the original API function, this function does not create detection vectors, for exampl

null 297 Dec 11, 2022
DeskGap is a framework for building cross-platform desktop apps with web technologies (JavaScript, HTML and CSS).

A cross-platform desktop app framework based on Node.js and the system webview

Wang, Chi 1.8k Jan 4, 2023
SDK for building cross-platform desktop apps in ANSI-C

NAppGUI Cross-Platform C SDK. Build portable desktop applications for Windows, macOS and Linux, using just C. Quick start in Windows Prerequisites Vis

Francisco García Collado 242 Jan 2, 2023
[WIP] A media playback library for Dart & Flutter apps on Windows & Linux. Based on libVLC & libVLC++.

dart_vlc Bringing power of VLC to Flutter & Dart apps on Windows & Linux Installation dependencies: ... dart_vlc: ^0.0.1 Documentation Create a ne

Hitesh Kumar Saini 417 Dec 29, 2022
Native context menu for Flutter apps

native_context_menu Native context menu for flutter apps Installation flutter pub add native_context_menu Usage import 'package:native_context_menu/na

Andrei Lesnitsky 151 Dec 22, 2022