我必须从Android发送一个缩小的位图到我的数据库(使用Xamarin)。
为此,我读到了Glide或Picasso。 Glide似乎是最好的图片库所以我安装了Glide-Xamarin 3.7.0。
但我不知道如何加载现有的位图(从URI),缩减到特定的[ish]分辨率并将其保存到byte []数组中,以便通过我正在调用的Web服务发送它。
如果有人知道那个的配方,将不胜感激。
最后我和毕加索一起做了
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();
}