废话不多说了,直接给大家贴代码了,具体代码如下所述:
/** * 把一个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为图片的实例代码,希望对大家有所帮助!
本文地址:https://www.stayed.cn/item/1237
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我