我正在开发一个多平台的Xamarin项目,在这个项目中,对于iOs和android,我必须下载一个图像,将其存储在设备上并用圆角显示它。
这么说,我发现如果下载/存储部分由便携式类库(.Net 4.5)处理(这是容易的部分)并且如果在存储之前,在获取我的图像数据之后将会很好一个字节[],我可以在某种程度上,在PCL内部,直接将roundRect过滤器应用于它,以便我将存储的图像数据将是具有圆角的图像之一。 这样,特定于平台的代码就是显示图像!
有什么想法吗?
//编辑: 所以更具体一点,并展示一些代码:
public async void DownloadAsync (string url)
{
HttpClient client = new HttpClient();
var respmessage = await client.GetAsync (url);
var imageByteArray = await respmessage.Content.ReadAsByteArrayAsync ();
imageByteArray = RoundedCornerPNGRepresentation(imageByteArray) ;
CachePicture (imageByteArray, url);
}
byte[] RoundedCornerPNGRepresentation (byte[] imageByteArray)
{
// would love to apply a roundedCorner filter to imageByteArray here
}