Andriod arcgis保存Mapview为图片的实例代码
Andriod arcgis保存Mapview为图片的实例代码
发布时间:2016-12-28 来源:查字典编辑
摘要:废话不多说了,直接给大家贴代码了,具体代码如下所述:/***把一个View的对象转换成bitmap*/privateBitmapgetVie...

废话不多说了,直接给大家贴代码了,具体代码如下所述:

/** * 把一个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为图片的实例代码,希望对大家有所帮助!

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类