9 Star 69 Fork 11

wangyazhou / FireShotGo

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

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语言开发环境

使用库

请确保本地的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

加入我们

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

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

TODO

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

Repository Comments ( 9 )

Sign in to post a comment

About

使用go语言的Fyne库实现的截图功能 expand collapse
Cancel

FireShotGo

Contributors

All

Activities

Load More
can not load any more
Go
1
https://git.oschina.net/andrewgithub/FireShotGo.git
git@git.oschina.net:andrewgithub/FireShotGo.git
andrewgithub
FireShotGo
FireShotGo
main

Search