0

我正在使用 Xamarin 在 c# 中构建一个 Android 应用程序。

我遇到的问题是我需要加载图像的一部分而不首先加载整个图像。我有一个我想要的图像区域的矩形。我找到了适用于普通 Android 的解决方案:BitmapRegionDecoder

但是,当我尝试在我的 Xamarin 项目中调用此类时,它不存在,我也无法导入它。我查看了 API,它说它应该在那里。Android.Graphics.BitmapRegionDecoder 文档

有谁知道是否可以使用此类或是否有其他方法可以实现这一目标?

4

1 回答 1

0

请注意,它表示它存在于 API 级别 10 中,因此您必须在应用程序属性中将最小目标设置为 10。

然后你可以像这样使用它:

using (var inStream = ContentResolver.OpenInputStream(Android.Net.Uri.Parse("YourBitmapUri")))
{
    using (var decoder = BitmapRegionDecoder.NewInstance(inStream, false))
    {
        var bitmap = decoder.DecodeRegion(YourRect, new BitmapFactory.Options());
        // use your bitmap i.e. for an ImageView
        bitmap.Dispose();
    }
}
于 2013-05-01T12:36:35.733 回答