FireShotGo

command module
v1.0.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2022 License: Apache-2.0 Imports: 3 Imported by: 0

README

Fork me on Gitee

[TOC]

FireShotGo

项目简介

FireShotGo是使用fyne实现的一个跨平台截图软件

对于Fyne陌生的同学可以参考 fyne club上面已经实现了详细的文档和对应每小节对应的源码

在线文档点击:FireShotGoDoc

分部详细教程:fyne club

安装信息

Linux

Linux上需要安装gtk库,以及依赖的库

ubuntu上可以使用如下命令安装

sudo apt-get install libappindicator3-dev -y
sudo apt-get install libgtk-3-dev
Windows

windows上需要安装配置MinGW环境,并配置go语言开发环境 如果想去除windows上运行时出现的控制台,在编译时需要指定参数:

go build -ldflags -H=windowsgui
使用库

请确保本地的go的SDK版本是1.16或以上,否则不支持//go:embed语法

想按照库使用仅仅需要执行如下语句go get gitee.com/andrewgithub/FireShotGo即可将源码安装到本地,如果想在本地开发,可以直接使用git拉取仓库使用。

历史版本

v1.0.0

主要功能,实现截图的基本功能,能够绘制箭头,绘制椭圆型标记,添加文本的基本功能

功耗

在八核的ubuntu及机器上,一般占用CPU5.9左右

v1.0.1
  • 添加中文注释
  • 该版本没有新增功能,主要是对原有的逻辑添加中文注释,并迁移到gitee上,方便后期团队开发

具体方式,下载中文字体,并将对应字体通过fyne工具生成静态资源文件,在通过主题的Font接口返回

v1.0.2
  • 支持中文,标题全部按照中文显示
  • 更换为左边状态栏,更符合国人使用习惯
image-20210928124244222
fyne bundle xxxxx.ttf > bundle.go

比如我们这里使用中文字体实现的一个主题

package firetheme

import (
	"fyne.io/fyne/v2"
	"fyne.io/fyne/v2/theme"
	"image/color"
)

type ShanGShouJianSongTheme struct{}

//var _ fyne.Theme = (*ShanGShouJianSongTheme)(nil)

// Font 返回的就是字体名
func (m ShanGShouJianSongTheme) Font(s fyne.TextStyle) fyne.Resource {
	return resourceShangShouJianSongXianXiTi2Ttf
}

func (*ShanGShouJianSongTheme) Color(n fyne.ThemeColorName, v fyne.ThemeVariant) color.Color {
	return theme.DefaultTheme().Color(n, v)
}

func (*ShanGShouJianSongTheme) Icon(n fyne.ThemeIconName) fyne.Resource {
	return theme.DefaultTheme().Icon(n)
}

func (*ShanGShouJianSongTheme) Size(n fyne.ThemeSizeName) float32 {
	return theme.DefaultTheme().Size(n)
}

v1.0.3
  • 支持等宽直线功能
image-20210929001751677
v1.0.4

支持文本的中文输入

image-20210929123025162
V1.0.5
  • 支持指定屏幕截屏

    指定屏幕从序号1开始,比如,需要1时主屏幕,序号二十分屏幕,因为多余两个屏幕的没发验证,目前输入框中限定只能输入1或者2,如果有多余两个屏幕的使用者需要将如下代码中正则匹配放开限制,比如将[1,2] – > [1-3]支持3号屏幕

    selectEntry.Validator = validation.NewRegexp(`[1,2]`, "1 or 2 screen")
    
    image-20210930002531279

目前当输入屏幕序号大于3时将报错

image-20210930002601316
V1.0.6

支持主题字体设置,但是目前主题字体设置之后,不能动态刷新,需要重启应用程序,目前先支持功能,后期支持动态的更改主题字体大小

image-20210930134847964
V1.0.7

支持云存储,谷歌云和七牛云,事实截取图片,实时上传图片,目前仅支持png图片后期放开图片类型的选择,可以支持多种图片编码格式

支持七牛云,让截取的图片直接上上云,随时截取,随时保存到云盘,方便后期查看于信息记录记录

image-20210930175523422 image-20210930175745365
v1.0.8

支持虚线功能

image-20220817211535625
v1.0.9

虚线间隔支持设置

img.png

v1.0.10

增加遮挡块功能,可以使用遮挡块对需要遮挡的地方进行遮挡,颜色可以在颜色块中进行设置,左键电击之后使用鼠标进行拖拽即可

img.png

v1.0.11

增加矩形框功能,用于框住截图中的重点信息,颜色可以在颜色块中进行设置,左键电击之后使用鼠标进行拖拽即可

img.png

v1.0.12

增加画笔功能,目前是使用单协程实现,性能比较差,后期间计算单独协程中进行,提升出图的速度

img.png

加入我们

如果对go语言感兴趣或者想要学习go语言Fyne gui编程的可以添加微信!

扫描二维码,拉你进入FireShotGo开发大家庭,一起学习,一起进步!

TODO

  • 支持中文
  • 支持直线绘制
  • 支持等宽直线绘制
  • 支持指定需要截屏的屏幕
  • 支持叠加中文文本
  • 支持对主题字体设置
  • 支持云存储-谷歌云、七牛云
  • 主题字体支持动态更改
  • 支持虚线绘制
  • 支持虚线间隔设置
  • 支持矩形框功能
  • 支持鼠标截图功能
  • 支持选择屏幕功能
  • 支持多种字体
  • 支持多种字体的中文文本叠加

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package screenshot implements the screenshot edit window.
Package screenshot implements the screenshot edit window.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL