将调整大小的位图加载到 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();
}
我必须从 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();
}