我必须从 Android(使用 Xamarin)向我的数据库发送缩小的位图。
为此,我阅读了有关 Glide 或 Picasso 的资料。 Glide 似乎是最好的图片库,所以我安装了 Glide-Xamarin 3.7.0。
但我不知道如何加载现有位图(从 URI)、缩小到特定 [ish] 分辨率并将其保存到 byte[] 数组中以便通过我正在调用的 Web 服务发送它。
如果有人知道那个的配方,将不胜感激。
最佳答案
最后我和 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();
}
关于android - 将调整大小的位图加载到 byte[] 数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45169554/