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("保存成功");
            }
        }
  • 相关阅读:
    winform 通过 windows api 实现本机两个exe 消息推送
    winform ListView控件 绘制item和subitems颜色
    C# Windows Service创建和安装
    C# 解析xml文件(带命名空间 xmlns和 xmlns:xsi)
    H5+CSS3 实现分页功能
    C# HashTable Dictionary ConcurrentDictionary HashSet
    使用泛型返回类
    WPF的XAML注意点
    Http监听HttpListener接收请求的Nancy框架
    获取Windows后台进程
  • 原文地址:https://www.cnblogs.com/gisoracle/p/5250043.html
Copyright © 2011-2022 走看看