Skip to content
On this page

Image 图片

画布。Image表示Fyne中的可缩放图像资源。它可以从资源(如示例所示)、图像文件、包含图像的URI位置、io.Reader或内存中的Go image.image加载。

默认的图像填充模式是canvas.ImageFillStretch,这将使其填充指定的空间(通过Resize()或布局)。或者,您可以使用canvas.ImageFillContain来确保纵横比保持不变,并且图像在范围内。除此之外,您可以使用canvas.ImageFillOriginal(如本文示例中所用),以确保其最小大小也与原始图像大小相等。

go
package main

import (
	"fyne.io/fyne/v2/app"
	"fyne.io/fyne/v2/canvas"
	"fyne.io/fyne/v2/theme"
)

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

	image := canvas.NewImageFromResource(theme.FyneLogo())
	// image := canvas.NewImageFromURI(uri)
	// image := canvas.NewImageFromImage(src)
	// image := canvas.NewImageFromReader(reader, name)
	// image := canvas.NewImageFromFile(fileName)
	image.FillMode = canvas.ImageFillOriginal
	w.SetContent(image)

	w.ShowAndRun()
}

图像可以是基于位图的(如PNG和JPEG)或基于矢量的(如SVG)。在可能的情况下,我们建议使用可缩放的图像,因为它们将随着大小的变化而继续呈现。在使用原始图像大小时要小心,因为它们在不同的用户界面比例下可能无法完全按照预期的方式工作。由于Fyne允许整个用户界面缩放25px的图像文件,因此其高度可能与25高度的Fyne对象不同。