zoukankan      html  css  js  c++  java
  • andriod arcgis保存Mapview为图片

     /**
         * 把一个View的对象转换成bitmap
         */
        private Bitmap getViewBitmap(MapView v) {
    
            v.clearFocus();
            v.setPressed(false);
    
    
            //能画缓存就返回false
            boolean willNotCache = v.willNotCacheDrawing();
            v.setWillNotCacheDrawing(false);
            int color = v.getDrawingCacheBackgroundColor();
            v.setDrawingCacheBackgroundColor(0);
            if (color != 0) {
                v.destroyDrawingCache();
            }
            v.buildDrawingCache();
            Bitmap cacheBitmap = null;
            while(cacheBitmap == null){
                cacheBitmap = v.getDrawingMapCache(0, 0, v.getWidth(), v.getHeight());
            }
            Bitmap bitmap = Bitmap.createBitmap(cacheBitmap);
            // Restore the view
            v.destroyDrawingCache();
            v.setWillNotCacheDrawing(willNotCache);
            v.setDrawingCacheBackgroundColor(color);
            return bitmap;
        }
        public void saveMyBitmap(String bitName,Bitmap mBitmap){
            String FileName=this.getInnerSDCardPath() + "/" + bitName + ".png";
            ShowMessage(FileName);
            File f = new File(FileName);
            try {
                f.createNewFile();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                Log.e("在保存"+FileName+"图片时出错:" + e.toString(),"在保存"+FileName+"图片时出错:" + e.toString());
            }
            FileOutputStream fOut = null;
            try {
                fOut = new FileOutputStream(f);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);
            try {
                fOut.flush();
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                fOut.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        //缩小
        private class ButtonNexitClickListener implements View.OnClickListener {
    
            public void onClick(View v) {
                //ShowMessage("ok1");
                Bitmap bitmap=getViewBitmap(mapView);
                //ShowMessage("ok2");
                saveMyBitmap("yl",bitmap);
                //ShowMessage("ok3");
                bitmap.recycle();
                ShowMessage("保存成功");
            }
        }
  • 相关阅读:
    鱼眼相机畸变矫正资料
    异常值检测算法三:3sigma模型
    五:瑞芯微RV1109
    四:海思Hi3516CV500/Hi3516DV300
    三:瑞芯微OK3399-C开发板
    二:飞凌嵌入式FCU1201
    一:芯片概述
    六:大数据架构
    五:大数据架构回顾-LambdaPlus架构
    四:大数据架构回顾-IOTA架构
  • 原文地址:https://www.cnblogs.com/gisoracle/p/5250043.html
Copyright © 2011-2022 走看看