07. 渐变 Gradient

渐变 Gradient #

最后一个画布原始类型是 Gradient,可用作 canvas.LinearGradientcanvas.RadialGradient,用于绘制从一种颜色到另一种颜色的渐变,有多种模式。你可以使用 NewHorizontalGradient()NewVerticalGradient()NewRadialGradient() 创建渐变。

要创建一个渐变,你需要一个起始颜色和结束颜色——画布会计算其中的每一个颜色。在这个示例中,我们使用 color.Transparent 来展示如何使用渐变(或任何其他类型)通过透明度值在背后的内容上实现半透明效果。

package main

import (
	"image/color"

	"fyne.io/fyne/v2"
	"fyne.io/fyne/v2/app"
	"fyne.io/fyne/v2/canvas"
)

func main() {
	myApp := app.New()
	w := myApp.NewWindow("渐变")

	gradient := canvas.NewHorizontalGradient(color.White, color.Transparent)
	//gradient := canvas.NewRadialGradient(color.White, color.Transparent)
	w.SetContent(gradient)

	w.Resize(fyne.NewSize(100, 100))
	w.ShowAndRun()
}