flameshot

flameshot

功能丰富的跨平台屏幕截图软件

Flameshot是一款开源的屏幕截图软件,支持Linux、Windows和macOS系统。它提供全屏、区域和延时截图功能,可通过命令行或图形界面操作。Flameshot具有自定义外观、应用内编辑、DBus接口和Imgur上传等特性,为用户提供灵活高效的截图体验。

截图软件Flameshot开源跨平台编辑功能Github开源项目
<div align="center"> <p> <h1> <a href="https://github.com/flameshot-org/flameshot"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/bc537cc4-7c3b-46c1-9698-bfcbcafcc94f.svg" alt="Flameshot" /> </a> <br /> Flameshot </h1> <h4>功能强大且易用的截图软件。</h4> </p> <p> <a href="https://github.com/flameshot-org/flameshot/actions?query=workflow%3APackaging%28Linux%29"> <img src="https://img.shields.io/github/actions/workflow/status/flameshot-org/flameshot/Linux-pack.yml?branch=master&label=gnu%2Flinux" alt="GNU/Linux 构建状态" /> </a> <a href="https://github.com/flameshot-org/flameshot/actions?query=workflow%3APackaging%28Windows%29"> <img src="https://img.shields.io/github/actions/workflow/status/flameshot-org/flameshot/Windows-pack.yml?branch=master&label=windows" alt="Windows 构建状态" /> </a> <a href="https://github.com/flameshot-org/flameshot/actions?query=workflow%3APackaging%28MacOS%29"> <img src="https://img.shields.io/github/actions/workflow/status/flameshot-org/flameshot/MacOS-pack.yml?branch=master&label=macos" alt="MacOS 构建状态" /> </a> <a href="https://flameshot.org/docs/installation/development-build/"> <img src="https://img.shields.io/badge/nightly%20builds-available-%23AA00FF" alt="每日构建" /> </a> <a href="https://github.com/flameshot-org/flameshot/releases"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/06057bc1-583e-4a44-b4bf-b414ac50f51d.svg" alt="最新稳定版" /> </a> <a href="https://github.com/flameshot-org/flameshot/releases"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/da9d6838-bc36-4d8f-801b-2ecaf62900f3.svg" alt="总下载量" /> </a> <a href="https://github.com/flameshot-org/flameshot/blob/master/LICENSE"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/75749f5f-7dd4-4033-9c58-4c3fe9de5509.svg" alt="许可证" /> </a> <a href="https://hosted.weblate.org/engage/flameshot/"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/831644c8-090c-4e1f-8662-42288979f9ca.svg" alt="翻译状态" /> </a> <a href="https://flameshot.org"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/06057bc1-583e-4a44-b4bf-b414ac50f51d.svg?label=docs" alt="文档" /> </a> <br> <a href="https://snapcraft.io/flameshot"> <img alt="从 Snap Store 获取" src="https://yellow-cdn.veclightyear.com/835a84d5/a50d8bdd-93f7-496a-9e91-44f01427182e.svg" /> </a> <a href="https://flathub.org/apps/details/org.flameshot.Flameshot"> <img height="60" alt="从 Flathub 下载" src="https://yellow-cdn.veclightyear.com/835a84d5/c8fde37a-7c27-48fd-ae68-629cd481157e.svg"/> </a> </p> </div>

预览

图片

目录

特性

  • 可自定义外观。
  • 易于使用。
  • 应用内截图编辑。
  • DBus 接口。
  • 上传到 Imgur。

使用方法

不带参数执行 flameshot 命令将在后台启动一个运行实例,但不会执行任何操作。 如果您的桌面环境提供托盘区域,托盘图标也会出现在托盘中,供用户进行配置和管理。

示例命令:

  • 使用图形界面捕获:

    flameshot gui
  • 使用图形界面捕获并指定自定义保存路径:

    flameshot gui -p ~/myStuff/captures
  • 延迟 2 秒后使用图形界面捕获(对于捕获鼠标悬停提示等很有用):

    flameshot gui -d 2000
  • 全屏捕获并指定自定义保存路径(无图形界面)且延迟:

    flameshot full -p ~/myStuff/captures -d 5000
  • 全屏捕获并指定自定义保存路径,同时复制到剪贴板:

flameshot full -c -p ~/myStuff/captures
  • 捕获包含鼠标的屏幕并以PNG格式打印图像(字节):
flameshot screen -r
  • 捕获编号为1的屏幕并复制到剪贴板:
flameshot screen -n 1 -c

如有疑问,请选择第一个或第二个命令作为您喜欢的桌面环境中的快捷方式。

当Flameshot运行时,系统托盘中会出现一个图标。 右键单击托盘图标,您会看到一些菜单项,用于打开配置窗口和信息窗口。 查看"关于"窗口以查看图形捕获模式中的所有可用快捷键。

命令行配置

您可以使用图形菜单来配置Flameshot,但也可以使用终端或脚本来执行此操作。

  • 打开配置菜单:
flameshot config
  • 在捕获模式下显示初始帮助信息:
flameshot config --showhelp true
  • 有关可用选项的更多信息,请使用帮助标志:
flameshot config -h

配置文件

您还可以在配置文件中编辑一些设置(如覆盖默认颜色)。 Linux路径: ~/.config/flameshot/flameshot.ini。 Windows路径: C:\Users\{用户名}\AppData\Roaming\flameshot\flameshot.ini

在将配置文件从Linux复制到Windows或反之亦然时, 请确保更正savePath变量, 以便屏幕截图保存在所需文件系统的正确目录中。

键盘快捷键

本地快捷键

以下快捷键在GUI模式下可用:

按键描述
<kbd>P</kbd>将铅笔设置为绘画工具
<kbd>D</kbd>将直线设置为绘画工具
<kbd>A</kbd>将箭头设置为绘画工具
<kbd>S</kbd>将选择设置为绘画工具
<kbd>R</kbd>将矩形设置为绘画工具
<kbd>C</kbd>将圆形设置为绘画工具
<kbd>M</kbd>将标记设置为绘画工具
<kbd>T</kbd>在捕获中添加文本
<kbd>B</kbd>将像素化设置为绘画工具
<kbd></kbd>, <kbd></kbd>, <kbd></kbd>, <kbd></kbd>移动选区1像素
<kbd>Shift</kbd> + <kbd></kbd>, <kbd></kbd>, <kbd></kbd>, <kbd></kbd>调整选区大小1像素
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd></kbd>, <kbd></kbd>, <kbd></kbd>, <kbd></kbd>对称调整选区大小2像素
<kbd>Esc</kbd>退出捕获
<kbd>Ctrl</kbd> + <kbd>M</kbd>移动选区
<kbd>Ctrl</kbd> + <kbd>C</kbd>复制到剪贴板
<kbd>Ctrl</kbd> + <kbd>S</kbd>将选区保存为文件
<kbd>Ctrl</kbd> + <kbd>Z</kbd>撤销上一次修改
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Z</kbd>重做下一次修改
<kbd>Ctrl</kbd> + <kbd>Q</kbd>离开捕获屏幕
<kbd>Ctrl</kbd> + <kbd>O</kbd>选择应用程序打开捕获
<kbd>Ctrl</kbd> + <kbd>Return</kbd>在文本区域提交文本
<kbd>Return</kbd>将选区上传到Imgur
<kbd>空格键</kbd>切换侧边栏可见性,显示所选工具的选项、绘图颜色的颜色选择器和历史记录菜单
右键单击显示颜色轮
鼠标滚轮更改工具的粗细
<kbd>Print screen</kbd>捕获屏幕
<kbd>Shift</kbd> + <kbd>Print</kbd>屏幕截图历史记录
<kbd>Ctrl</kbd> + 绘制直线箭头标记仅水平、垂直或对角线绘制
<kbd>Ctrl</kbd> + 绘制矩形圆形保持宽高比

<kbd>Shift</kbd> + 拖动选区的一个手柄: 在对面的手柄上镜像重新调整大小。

全局快捷键

Flameshot使用 <kbd>Print screen</kbd> (Windows) 和 <kbd>cmd</kbd>-<kbd>shift</kbd>-<kbd>x</kbd> (macOS) 作为默认全局热键。

在Linux上,Flameshot还不能直接支持 <kbd>Prt Sc</kbd>,但通过一些配置可以设置:

在KDE Plasma桌面上

为了简化配置,仓库中有一个文件,可以大致自动化此过程。默认情况下,此文件将分配以下热键:

按键描述
<kbd>Prt Sc</kbd>启动Flameshot屏幕截图工具并进行截图
<kbd>Ctrl</kbd> + <kbd>Prt Sc</kbd>等待3秒,然后启动Flameshot屏幕截图工具并进行截图
<kbd>Shift</kbd> + <kbd>Prt Sc</kbd>进行全屏(所有显示器)截图并保存
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Prt Sc</kbd>进行全屏(所有显示器)截图并复制到剪贴板

如果您不喜欢默认设置,可以稍后更改。

使用配置的步骤:

  1. 配置文件使Flameshot自动将屏幕截图保存到 ~/Pictures/Screenshots,而不打开保存对话框。通过运行以下命令确保该文件夹存在:
mkdir -p ~/Pictures/Screenshots

(如果您不喜欢默认位置,可以跳过此步骤,稍后配置您首选的目录。)

  1. 下载配置文件:
cd ~/Desktop wget https://raw.githubusercontent.com/flameshot-org/flameshot/master/docs/shortcuts-config/flameshot-shortcuts-kde.khotkeys
  1. 确保使用包管理器安装了 khotkeys,以便在 KDE Plasma 中启用自定义快捷键。
  2. 进入"系统设置" → "快捷键" → "自定义快捷键"。
  3. 如果存在 Spectacle(KDE 默认截图工具)的条目,你需要禁用它,因为它的快捷键可能会与 Flameshot 的冲突。通过取消选中 Spectacle 条目来完成此操作。
  4. 点击"编辑" → "导入...",导航到配置文件并打开它。
  5. 现在 Flameshot 条目应该出现在列表中。点击"应用"以应用更改。
  6. 如果你想更改默认热键,可以展开条目,选择适当的操作并按需修改;这个过程相当直观。
  7. 如果你是通过 Flatpak 安装的 Flameshot,你需要创建一个指向命令的符号链接:
ln -s /var/lib/flatpak/exports/bin/org.flameshot.Flameshot ~/.local/bin/flameshot

在 Ubuntu 上(在 18.04、20.04、22.04 上测试过)

要在 Ubuntu 中使用 Flameshot 代替默认的截图应用程序,我们需要移除 <kbd>Prt Sc</kbd> 键的绑定,然后为 /usr/bin/flameshot gui 创建一个新的绑定(改编自 Pavel 在 AskUbuntu 上的回答)。

  1. 移除 <kbd>Prt Sc</kbd> 键的绑定:

    Ubuntu 18.04/20.04 使用以下命令:

    gsettings set org.gnome.settings-daemon.plugins.media-keys screenshot '[]'

    Ubuntu 22.04:进入"设置" > "键盘" > "查看和自定义快捷键" > "截图" > "交互式截图",然后按下"退格键"

  2. <kbd>Prt Sc</kbd> 添加自定义绑定:

    Ubuntu 18.04:进入"设置" > "设备" > "键盘",然后点击底部的"+"按钮。

    Ubuntu 20.04:进入"设置" > "键盘快捷键",然后点击底部的"+"按钮。

    Ubuntu 22.04:进入"设置" > "键盘" > "查看和自定义快捷键" > "自定义快捷键",然后点击底部的"+"按钮。

  3. 为命令命名,例如"flameshot"。在命令栏中输入 /usr/bin/flameshot gui

  4. 然后点击"设置快捷键..."并按下 <kbd>Prt Sc</kbd>。这将显示为"print"。

现在每次按下 <kbd>Prt Sc</kbd>,它都会启动 Flameshot GUI 而不是默认应用程序。

在 XFCE 4 上

  1. 进入"键盘"设置

  2. 切换到"应用程序快捷键"标签

  3. 找到以下条目

    命令 快捷键 xfce4-screenshooter -fd 1 Print
  4. xfce4-screenshooter -fd 1 替换为 flameshot gui

现在每次按下 <kbd>Prt Sc</kbd>,它都会启动 Flameshot GUI 而不是默认应用程序。

注意事项

  • 对 Gnome Wayland 和 Plasma Wayland 的支持处于实验阶段。

  • 如果你使用 Gnome,你需要安装 AppIndicator and KStatusNotifierItem Support 扩展才能看到系统托盘图标。

  • 当你处于捕获模式且没有活动选择时,按下 <kbd>Enter</kbd><kbd>Ctrl</kbd> + <kbd>C</kbd>,整个桌面将被复制到剪贴板。按下 <kbd>Ctrl</kbd> + <kbd>S</kbd> 将保存你的捕获到文件。查看快捷键以获取更多信息。

  • Flameshot 在包含 D-Bus 的桌面环境中工作得最好。查看这篇文章以获取在最小化窗口管理器(dwm、i3、xmonad 等)中使用 Flameshot 的提示。

  • 为了加快 Flameshot 的首次启动速度(应用程序的 D-Bus 初始化可能会很慢),考虑在系统启动时自动启动应用程序。

    • 快速提示:如果你没有让 Flameshot 在启动时自动运行,但想设置键盘快捷键,可以使用以下命令作为键绑定:
    ( flameshot &; ) && ( sleep 0.5s && flameshot gui )

安装

Flameshot 可以安装在 Linux、Microsoft Windows 和 macOS 上。

预构建包

GitHub 项目仓库的发布页面 上提供了一些预构建包。

仓库中的包

一些 Linux 发行版的仓库中有可用的包:

MacOS

  • MacPorts: sudo port selfupdate && sudo port install flameshot
  • Homebrew: brew install --cask flameshot 注意,由于 macOS 的安全功能,使用 brew 安装的 flameshot 可能无法打开。 如果你看到消息"无法打开'flameshot',因为无法验证开发者",你需要按照以下步骤操作:
  1. 前往应用程序文件夹(访达 > 前往 > 应用程序,或按 <kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>A</kbd>
  2. 右击"flameshot.app"并从上下文菜单中选择"打开"
  3. 在弹出的对话框中点击"打开"

完成上述所有步骤后,flameshot将可以在你的 Mac 上正常打开。

Windows

<details> <summary>展开此部分以查看使用最新版 flameshot 的发行版</summary> <a href="https://repology.org/metapackage/flameshot/versions"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/9264dd5b-263b-4731-b2b7-da4d26a81035.svg" alt="打包状态"> </a> </details>

托盘图标

注意,要让 Flameshot 图标出现在托盘区域,你应该安装一个系统托盘软件。这对使用最小化窗口管理器(如dwm)的用户尤为重要。在某些桌面环境安装中(如 Gnome),系统托盘可能缺失,你可以安装应用程序或插件(如 Gnome shell 扩展)来将系统托盘添加到你的设置中。据报告,包括 Flameshot 在内的某些软件图标不会显示在 gnome-shell-extension-appindicator 中。

另外,如果你不想使用系统托盘,你始终可以从终端调用 Flameshot。参见使用部分

编译

要在你的系统中构建应用程序,你需要安装所需的依赖项,每个发行版的包名可能不同,更多信息请参见下面的依赖项。你也可以通过Qt 安装程序安装大多数 Qt 依赖项。如果你之前开发过 Qt 应用,你可能已经安装了这些依赖项。

本项目使用 CMake 构建系统,所以你需要安装它来构建项目(在大多数 Linux 发行版中,它在标准仓库中以 cmake 包的形式提供)。如果你的发行版提供的 CMake 版本太旧(如 Ubuntu 18.04),你可以在官方网站上下载

你也可以在 C++ IDE 中打开、构建和调试项目。例如,在 Qt Creator 中,在安装 CMake 到系统后,你应该能够通过菜单中的"打开文件或项目"直接打开 CMakeLists.txt关于 Qt Creator 中 CMake 项目的更多信息

依赖项

编译时

  • Qt >= 5.9
    • 开发工具
  • GCC >= 7.4
  • CMake >= 3.13

运行时

  • Qt
    • SVG

可选

  • Git
  • OpenSSL
  • CA 证书

Debian

# 编译时 apt install g++ cmake build-essential qtbase5-dev qttools5-dev-tools libqt5svg5-dev qttools5-dev # 运行时 apt install libqt5dbus5 libqt5network5 libqt5core5a libqt5widgets5 libqt5gui5 libqt5svg5 # 可选 apt install git openssl ca-certificates

Fedora

# 编译时 dnf install gcc-c++ cmake qt5-qtbase-devel qt5-linguist # 运行时 dnf install qt5-qtbase qt5-qtsvg-devel # 可选 dnf install git openssl ca-certificates

Arch

# 编译时 pacman -S cmake base-devel git qt5-base qt5-tools # 运行时 pacman -S qt5-svg # 可选 pacman -S openssl ca-certificates

NixOS

nix-shell

MacOS

首先你需要安装 brew,然后安装依赖项

brew install qt5 brew install cmake

构建

安装所有依赖项后,最后在源代码根目录运行以下命令:

cmake -S . -B build && cmake --build build

注意:对于 macOS,你应该将命令

cmake -S . -B build

替换为

cmake -S . -B build -DQt5_DIR=$(brew --prefix qt5)/lib/cmake/Qt5

cmake --build build 命令完成后,你可以从 project_folder/build/src 文件夹启动 flameshot

安装

简单地使用 cmake --install build(需要权限)。 注意:如果你从源代码安装,没有卸载程序,你需要手动删除文件。考虑使用 CMAKE_INSTALL_PREFIX 安装到自定义位置以便于移除。

常见问题

https://flameshot.org/docs/guide/faq/

许可证

信息:如果我从你的项目中获取代码,并且这意味着重新许可为 GPLv3,你可以使用我的更改,并应用你项目的原始许可证。

隐私政策

除非用户或安装或操作该程序的人特别要求,否则该程序不会向其他网络系统传输任何信息。

代码签名政策

对于Windows二进制文件,本程序使用由SignPath.io提供的免费代码签名,以及SignPath基金会提供的证书。

代码签名目前是一个手动过程,因此并非每个补丁版本都会被签名。

贡献

如果您想贡献,请查看CONTRIBUTING.md

致谢

感谢那些在早期开发过程中表现出兴趣的人:

感谢赞助商:

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多