码迷,mamicode.com
首页 > 其他好文 > 详细

andriod arcgis保存Mapview为图片

时间:2016-03-07 13:47:23      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

 /**
     * 把一个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("保存成功");
        }
    }

 

andriod arcgis保存Mapview为图片

标签:

原文地址:http://www.cnblogs.com/gisoracle/p/5250043.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!