XAML .Net Maui -从像素数据创建图像源

wvmv3b1j  于 2022-12-16  发布在  .NET
关注(0)|答案(1)|浏览(156)

我有一个二维数组,其中包含图像中每个像素的数据,我尝试做的是在.Net Maui(XAML)中可视化这些数据。
我的方法是<Image/>,我将ImageSource属性绑定到我的数据,然后编写一个自定义的IValueConverter。但这正是我挣扎的地方。我找不到一种方法来编写一个适用于所有平台的自定义图像源。
另一个想法是使用<Canvas/>并手动绘制数据,但这有一些怪癖。(10x10)的结果变得非常模糊,我找不到任何方法来禁用反量化。为了防止这一点,我将不得不画更大的矩形每像素。但这会增加一些不必要的复杂性,我必须计算实际的宽度和高度,并使用它来计算矩形大小。
那么,在MAUI应用程序中显示像素数据最简单、最好的方法是什么呢?为了保持简单,我们可以说我们有一个byte[,](灰度)或Color[,]数组作为数据(无论哪个对解决方案更简单)。

lpwwtiir

lpwwtiir1#

希望这能有所帮助。

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)

    {
        if (value == null)
            return null;

        var byteArray = getImageByteArray(value as string);

        return ImageSource.FromStream(() => new MemoryStream(byteArray));
    }

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

相关问题