我正在使用UrlImageViewHelper的端口将图片延迟加载到我的monodroid应用中的图片视图中。问题是我需要将此图像转换为字节数组,但似乎无法找到显示如何执行此操作的任何内容。
目前我有这个
var img = new ImageView(_context);
img.SetUrlDrawable(image, Resource.Drawable.image_holder);
var conv = img.ToArray<byte>();
DisplayImage(conv, lin);
这看起来是正确的,但是当我之前使用过它时,会给出例外情况。
如果文件是直接资源,我可以使用此
var icon = BitmapFactory.DecodeResource(_context.Resources, Resource.Drawable.image_holder);
using (MemoryStream stream = new MemoryStream())
{
icon.Compress(Bitmap.CompressFormat.Png, 100, stream);
DisplayImage(stream.ToArray(), lin);
}
答案 0 :(得分:0)
我真的不知道你想用&#34;字节数组做什么&#34;的图像,但要使用上面的代码 - 存储PNG - 在ImageView上,你需要使用这样的东西:
// Find image view.
var imgView = this.FindViewById<ImageView>(Resource.Id.imageView);
// Set some image
content.imgView.SetImageDrawable(this.Resources.GetDrawable(Resource.Drawable.Icon)); imgView.BuildDrawingCache ();
// Get the bitmap content of the image view.
Bitmap bitmap = imgView.DrawingCache;
// Save as PNG to disk.
string path = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments), "image.png");
using (var stream = File.OpenWrite(path))
{
bitmap.Compress (Bitmap.CompressFormat.Png, 100, stream);
}
Console.WriteLine("Image saved to {0}", path);