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

问题描述 投票:1回答:1

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

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

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

如果有人知道那个的配方,将不胜感激。

android xamarin xamarin.android picasso android-glide
1个回答
1
投票

最后我和毕加索一起做了

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();
}
© www.soinside.com 2019 - 2024. All rights reserved.