[英]Silverlight 4, image to byte array
假设我在数据库中有应用程序菜单及其图标图像(二进制数据)。 我提取那些菜单为byte []类型的菜单。 但是,如果没有图标集,那么我想使用默认图标,它不是来自数据库,而是来自xap(在Resources文件夹内)。 为了显示来自数据库的图标,我使用了IConverter(将byte []转换为图像),它基于以下问题的代码:
Silverlight 4.0:如何将byte []转换为图像?
为了能够使用我的byte []到图像IConverter,我还想将默认图标转换为来自xap的byte []。 我该怎么做? 以下问题建议使用WriteableBitmap类,但我不知道如何从xap源创建WriteableBitmap:
我可能想念这里的问题(这里可能需要更多有关转换器的详细信息),但是如果您的转换器类仅基于其字节返回图像,就不能只测试数据库中的空字节,然后返回默认图像?
public class MyConveter : IConverter {
public Image ConvertImage(byte[] bytes) {
if (bytes == null) return GetDefaultImage();
else return ConverterBytesToImage(bytes);
}
}
这样,您只需返回一个图像作为方法声明,并且实现处理空字节的情况。
这是在正确的轨道上吗?
由于您的默认图标是资源,因此您可以将其作为ResourceStream打开,并以字节为单位读取。
满足您的要求吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.