我必须从Android发送一个缩小的位图到我的数据库(使用Xamarin)。
为此,我读到了Glide或Picasso。 Glide似乎是最好的图片库所以我已经安装了Glide-Xamarin 3.7.0。
但我不知道如何加载现有的位图(从URI),缩小到特定的[ish]分辨率并将其保存到byte []数组中,以便通过Web服务I'我打电话。
如果有人知道那个配方,我将不胜感激。
答案 0 :(得分:1)
最后我用Picasso
做了var bitmap = Picasso
.With(context)
.Load(originalBitmapUri)
.Resize(reqWidth, reqHeight)
.CenterInside()
.OnlyScaleDown()
.Get();
这个单行返回给我一个调整大小的位图,我可以从中调用CompressAsync(。)
using (var stream = new MemoryStream())
{
await bitmap.CompressAsync(Bitmap.CompressFormat.Jpeg, quality, stream);
return stream.ToArray();
}