Andriod arcgis保存Mapview为图片的实例代码
废话不多说了,直接给大家贴代码了,具体代码如下所述:
/** *把一个View的对象转换成bitmap */ privateBitmapgetViewBitmap(MapViewv){ v.clearFocus(); v.setPressed(false); //能画缓存就返回false booleanwillNotCache=v.willNotCacheDrawing(); v.setWillNotCacheDrawing(false); intcolor=v.getDrawingCacheBackgroundColor(); v.setDrawingCacheBackgroundColor(0); if(color!=0){ v.destroyDrawingCache(); } v.buildDrawingCache(); BitmapcacheBitmap=null; while(cacheBitmap==null){ cacheBitmap=v.getDrawingMapCache(0,0,v.getWidth(),v.getHeight()); } Bitmapbitmap=Bitmap.createBitmap(cacheBitmap); //Restoretheview v.destroyDrawingCache(); v.setWillNotCacheDrawing(willNotCache); v.setDrawingCacheBackgroundColor(color); returnbitmap; } publicvoidsaveMyBitmap(StringbitName,BitmapmBitmap){ StringFileName=this.getInnerSDCardPath()+"/"+bitName+".png"; ShowMessage(FileName); Filef=newFile(FileName); try{ f.createNewFile(); }catch(IOExceptione){ //TODOAuto-generatedcatchblock Log.e("在保存"+FileName+"图片时出错:"+e.toString(),"在保存"+FileName+"图片时出错:"+e.toString()); } FileOutputStreamfOut=null; try{ fOut=newFileOutputStream(f); }catch(FileNotFoundExceptione){ e.printStackTrace(); } mBitmap.compress(Bitmap.CompressFormat.PNG,100,fOut); try{ fOut.flush(); }catch(IOExceptione){ e.printStackTrace(); } try{ fOut.close(); }catch(IOExceptione){ e.printStackTrace(); } } //缩小 privateclassButtonNexitClickListenerimplementsView.OnClickListener{ publicvoidonClick(Viewv){ //ShowMessage("ok1"); Bitmapbitmap=getViewBitmap(mapView); //ShowMessage("ok2"); saveMyBitmap("yl",bitmap); //ShowMessage("ok3"); bitmap.recycle(); ShowMessage("保存成功"); } }
以上所述是小编给大家介绍的Andriodarcgis保存Mapview为图片的实例代码,希望对大家有所帮助!