0

我有一些以下代码:

void loadFloorPlanImage(FloorPlan floorPlan) {
BitmapFactory.Options options = createBitmapOptions(floorPlan);
FutureResult<Bitmap> result = ia.fetchFloorPlanImage(floorPlan, options);
result.setCallback(new ResultCallback<Bitmap>() {
        @Override
        public void onResult(final Bitmap result) {
           // now you have floor plan bitmap, do something with it
           updateImageViewInUiThread(result);
        }
        // handle error conditions
}
}

我感到困惑的是:

BitmapFactory.Options 选项 = createBitmapOptions(floorPlan);

我应该在“createBitmapOptions”中做什么?

4

1 回答 1

0

这不是 IndoorAtlas 特定的问题。您可以调整例如要生成的位图图像的大小,或者简单地将选项保留为空。看看http://developer.android.com/reference/android/graphics/BitmapFactory.html

如果您想限制要在应用的地图视图中使用的图像的最大尺寸,示例可能如下所示:

private BitmapFactory.Options createBitmapOptions(FloorPlan floorPlan) {

    int reqWidth = 2048;
    int reqHeight = 2048;

    final int width = (int) floorPlan.dimensions[0];
    final int height = (int) floorPlan.dimensions[1];
    int inSampleSize = 1;

    if (height > reqHeight || width > reqWidth) {

        final int halfHeight = height / 2;
        final int halfWidth = width / 2;

        // Calculate the largest inSampleSize value that is a power of 2 and keeps both
        // height and width larger than the requested height and width.
        while ((halfHeight / inSampleSize) > reqHeight
                && (halfWidth / inSampleSize) > reqWidth) {
            inSampleSize *= 2;
        }

    }

    options.inSampleSize = inSampleSize;
    return options;

}
于 2015-04-30T06:36:33.727 回答