包canvas包含构成Fyne GUI的所有基本CanvasObjects。 此包中实现的类型用作构建块,以构建更高阶的功能。通过设计,这些类型被设计为非交互式的。如果需要额外的功能,这通常意味着这种类型应该作为自定义小部件的一部分使用。
代码语言:javascript复制import "fyne.io/fyne/v2/canvas"
Circle 圆
定义
代码语言:javascript复制type Circle struct {
// 圆的左上角位置和右下角位置
Position1 fyne.Position
Position2 fyne.Position
// 是否可见
Hidden bool
// 填充颜色和边框颜色
FillColor color.Color
StrokeColor color.Color
// 边框宽度
StrokeWidth float32
}
示例
代码语言:javascript复制package main
import (
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/canvas"
"image/color"
)
func main() {
App := app.New()
Window := App.NewWindow("Canvas")
c := canvas.NewCircle(color.RGBA{0, 255, 255, 255})
c.StrokeWidth = 10
c.StrokeColor = color.RGBA{255, 255, 0, 255}
Window.SetContent(c)
Window.Resize(fyne.NewSize(300, 200))
Window.Show()
App.Run()
}
Line 线
定义
代码语言:javascript复制type Line struct {
// 线的左上角位置和右下角位置
Position1 fyne.Position
Position2 fyne.Position
// 是否可见
Hidden bool
// 填充颜色
StrokeColor color.Color
// 线宽
StrokeWidth float32
}
示例
代码语言:javascript复制package main
import (
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/canvas"
"image/color"
)
func main() {
App := app.New()
Window := App.NewWindow("Canvas")
l := canvas.NewLine(color.RGBA{255, 255, 0, 255})
Window.SetContent(l)
Window.Resize(fyne.NewSize(300, 200))
Window.Show()
App.Run()
}