我有svg xml,我可以通过在我的xamarin.forms的PCL项目中使用XamSVG库转换为ImageSource或FileImageSource。
我想将ImageSource / FileImageSource转换为字节数组(以获取位图)。
这可能吗?
答案 0 :(得分:4)
ImageSource不会公开任何检索原始图像源的机制。相反,您需要手动保留对用于创建图像的原始源的引用。
答案 1 :(得分:3)
找到解决方案!!!
StreamImageSource streamImageSource = (StreamImageSource) some image source...
System.Threading.CancellationToken cancellationToken = System.Threading.CancellationToken.None;
Task<Stream> task = streamImageSource.Stream(cancellationToken);
Stream stream = task.Result;
答案 2 :(得分:1)
其他解决方案:
public static byte[] ReadFully(Stream input)
{
using (MemoryStream ms = new MemoryStream())
{
input.CopyTo(ms);
return ms.ToArray();
}
}
Stream和MemoryStream是System.IO类。
然后像这样使用它:
byte[] TargetImageByte = ReadFully(_data.Source);
_data.source是MediaFile类型。