
[TOC]
FireShotGo
项目简介
FireShotGo是使用fyne实现的一个跨平台截图软件
对于Fyne陌生的同学可以参考 fyne club上面已经实现了详细的文档和对应每小节对应的源码
安装信息
Linux
在Linux上需要安装gtk库,以及依赖的库
ubuntu上可以使用如下命令安装
sudo apt-get install libappindicator3-dev -y
sudo apt-get install libgtk-3-dev
Windows
在windows上需要安装配置MinGW环境,并配置go语言开发环境
历史版本
v1.0.0
主要功能,实现截图的基本功能,能够绘制箭头,绘制椭圆型标记,添加文本的基本功能
功耗
在八核的ubuntu及机器上,一般占用CPU5.9左右
v1.0.1
- 添加中文注释
- 该版本没有新增功能,主要是对原有的逻辑添加中文注释,并迁移到
gitee上,方便后期团队开发
具体方式,下载中文字体,并将对应字体通过fyne工具生成静态资源文件,在通过主题的Font接口返回
v1.0.2
- 支持中文,标题全部按照中文显示
- 更换为左边状态栏,更符合国人使用习惯
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.2
需要robot的支持,安装如果在Linux上安装robot需要安装xcb库,可以使用查找相关的库,并进行安装
sudo apt-cache search xcb
package main
import (
"fmt"
"github.com/go-vgo/robotgo"
)
func main() {
x, y := robotgo.GetMousePos()
fmt.Println("pos: ", x, y)
color := robotgo.GetPixelColor(100, 200)
fmt.Println("color----", color)
}
TODO