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("保存成功");
            }
        }
  • 相关阅读:
    jquery 读取 xml 属性等于某值的 方法
    jquery 定时器
    jquery div 滚动条 最底部
    ajax success 不能返回值解决方案 async:false
    wiki 使用说明
    thinkphp 二维码封装函数
    100本书 慢慢来读
    2013 来了
    jquery 解析 xml
    键盘按键 事件
  • 原文地址:https://www.cnblogs.com/gisoracle/p/5250043.html
Copyright © 2011-2022 走看看