【问题标题】:android screenshot with map带有地图的android屏幕截图
【发布时间】:2016-10-08 03:29:38
【问题描述】:

我正在尝试生成一个屏幕截图,其中包含地图(大约屏幕的 2/3)和视图上部的用户信息。结果很糟糕:地图向上移动并与其他数据混合在一起。这是我使用的代码:

public void screenshot() {
    com.google.android.gms.maps.GoogleMap.SnapshotReadyCallback callback=
            new com.google.android.gms.maps.GoogleMap.SnapshotReadyCallback(){

        @Override
        public void onSnapshotReady(Bitmap snapshot) {

            View v = findViewById(R.id.mainmtc);
            v.setDrawingCacheEnabled(true);
            Bitmap backBitmap = v.getDrawingCache();
            tripimage = Bitmap.createBitmap(
            backBitmap.getWidth(), backBitmap.getHeight(),
            backBitmap.getConfig());
            Canvas canvas = new Canvas(tripimage);
            canvas.drawBitmap(snapshot, new Matrix(), null);
            canvas.drawBitmap(backBitmap, 0, 0, null);
        }
    };

map.snapshot(callback);

}

【问题讨论】:

    标签: android google-maps screenshot


    【解决方案1】:

    您必须在屏幕上获取地图视图位置

    int[] mapLocation = new int[2];
    mapView.getLocationOnScreen(mapLocation);
    

    我已经为你编辑了你的代码:

        public void screenshot() {
        com.google.android.gms.maps.GoogleMap.SnapshotReadyCallback callback =
            new com.google.android.gms.maps.GoogleMap.SnapshotReadyCallback() {
    
              @Override
              public void onSnapshotReady(Bitmap snapshot) {
    
                View v = findViewById(R.id.mainmtc);
                v.setDrawingCacheEnabled(true);
                Bitmap backBitmap = v.getDrawingCache();
                Canvas canvas = new Canvas(backBitmap);
    
                Paint paint = new Paint();
                paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_ATOP));
                canvas.drawBitmap(snapshot, mapLocation[0],mapLocation[1], paint);
              }
            };
    }
    

    它应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      • 1970-01-01
      • 2015-10-30
      • 1970-01-01
      • 1970-01-01
      • 2020-06-24
      • 2018-04-11
      相关资源
      最近更新 更多