将调整大小的位图加载到 byte[] 数组中

Load resized bitmap into byte[] array

我必须从 Android(使用 Xamarin)向我的数据库发送缩小的位图。

为此,我了解了 Glide 或 Picasso。 Glide 似乎是最好的图片库所以我安装了 Glide-Xamarin 3.7.0.

但我不知道如何加载现有位图(从 URI)、缩小到特定[ish] 分辨率并将其保存到字节[] 数组中以便通过我正在调用的 Web 服务发送它.

如果有人知道那个食谱,将不胜感激。

最后我和毕加索一起做了

var bitmap = Picasso
             .With(context)
             .Load(originalBitmapUri)
             .Resize(reqWidth, reqHeight)
             .CenterInside()
             .OnlyScaleDown()
             .Get();

这个单行 returns 我是一个调整大小的位图,我可以从中调用 CompressAsync(.)

using (var stream = new MemoryStream())
{
    await bitmap.CompressAsync(Bitmap.CompressFormat.Jpeg, quality, stream);
    return stream.ToArray();
}