XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

HaloPixelToolBox

【WinUI3】基于USB HID通讯的花再音响工具箱

公开
关注 0 Fork 0 Star 0
UTF-8
using System.Drawing.Imaging;
using Microsoft.UI.Xaml.Data;
using Microsoft.UI.Xaml.Media.Imaging;
using XFEExtension.NetCore.StringExtension;
using XFEExtension.NetCore.WinUIHelper.Utilities.Helper;

namespace HaloPixelToolBox.Backend.Utilities.Converter;

/// <summary>
/// 把中文姓氏转换为一个头像
/// </summary>
public partial class SurnameToAvatarConverter : IValueConverter
{
    public object? Convert(object value, Type targetType, object parameter, string language)
    {
        if (value is not string valueString) return null;
        if (valueString.IsNullOrWhiteSpace())
            return null;
        if (valueString.Length > 1)
            valueString = valueString[0].ToString();
        var savePath = $@"{AppPathHelper.AppCache}\{valueString}.png";
        if (!File.Exists(savePath))
            AvatarGenerator.CreateAvatar(valueString).Save(savePath, ImageFormat.Png);
        var bitmap = new BitmapImage(new(savePath));
        return bitmap;
    }

    public object ConvertBack(object value, Type targetType, object parameter, string language)
    {
        throw new NotImplementedException();
    }
}