ui/screen/assets.go
2024-04-19 16:44:36 +02:00

47 lines
718 B
Go

package screen
import (
"fmt"
"io"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/canvas"
)
func AssetToImage(
s ScreenHandler,
asset string,
) (
img *canvas.Image,
err error,
) {
fh, err := s.LoadAsset(asset)
if err != nil {
err = fmt.Errorf("failed to load asset: %w", err)
return
}
img = canvas.NewImageFromReader(fh, asset)
return
}
func AssetToResource(
s ScreenHandler,
asset string,
) (
res fyne.Resource,
err error,
) {
fh, err := s.LoadAsset(asset)
if err != nil {
err = fmt.Errorf("failed to load asset: %w", err)
return
}
bytes, err := io.ReadAll(fh)
if err != nil {
err = fmt.Errorf("failed to read asset: %w", err)
return
}
res = fyne.NewStaticResource(asset, bytes)
return
}