我必须从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();
}