Fyne -Canvas

2023-09-01 19:06:45 浏览数 (2)

包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()
}

0 人点赞