Android实现将View保存成Bitmap的方法

本文实例讲述了Android实现将View保存成Bitmap的方法。分享给大家供大家参考,具体如下:

1、

public Bitmap convertViewToBitmap(View view){
    Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),
        Bitmap.Config.ARGB_8888);
    //利用bitmap生成画布
    Canvas canvas = new Canvas(bitmap);
    //把view中的内容绘制在画布上
    view.draw(canvas);
  return bitmap;
}

2、

/**
* save view as a bitmap
*/
private Bitmap saveViewBitmap(View view) {
// get current view bitmap
  view.setDrawingCacheEnabled(true);
  view.buildDrawingCache(true);
  Bitmap bitmap = view.getDrawingCache(true);
  Bitmap bmp = duplicateBitmap(bitmap);
  if (bitmap != null && !bitmap.isRecycled()) { bitmap.recycle(); bitmap = null; }
  // clear the cache
  view.setDrawingCacheEnabled(false);
  return bmp;
}
public static Bitmap duplicateBitmap(Bitmap bmpSrc)
{
  if (null == bmpSrc)
    { return null; }
  int bmpSrcWidth = bmpSrc.getWidth();
  int bmpSrcHeight = bmpSrc.getHeight();
  Bitmap bmpDest = Bitmap.createBitmap(bmpSrcWidth, bmpSrcHeight, Config.ARGB_8888); if (null != bmpDest) { Canvas canvas = new Canvas(bmpDest); final Rect rect = new Rect(0, 0, bmpSrcWidth, bmpSrcHeight);
  canvas.drawBitmap(bmpSrc, rect, rect, null); }
  return bmpDest;
}

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》、《Android视图View技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • Android自定义view实现圆形、圆角和椭圆图片(BitmapShader图形渲染)

    一.前言 Android实现圆角矩形,圆形或者椭圆等图形,一般主要是个自定义View加上使用Xfermode实现的.实现圆角图片的方法其实不少,常见的就是利用Xfermode,Shader.本文直接继承ImageView,使用BitmapShader方法来实现圆形.圆角和椭圆的绘制,等大家看我本文的方法后,其他的类似形状也就都能举一反三来来画出来了. 二.效果图: 三.BitmapShader简介 BitmapShader是Shader的子类,可以通过Paint.setShader(Shader

  • Android 将view 转换为Bitmap出现空指针问题解决办法

    Android 将view 转换为Bitmap出现空指针问题解决办法 在做Android 项目的时候,有时候可能有这样的需求,将一个View 或者一个布局文件转换成一个Bitmap  对象. 方法其实大都差不多.但这其中有一些小细节需要注意一下.最近在项目中用到了这个功能,现在分享一下,希望能帮助到遇到果这个 问题的人. 首先是转换 的代码: /** * 将View(布局) 转换为bitmap * @param view * @return */ public static Bitmap cre

  • 解析Android中View转换为Bitmap及getDrawingCache=null的解决方法

    1.前言 Android中经常会遇到把View转换为Bitmap的情形,比如,对整个屏幕视图进行截屏并生成图片:Coverflow中需要把一页一页的view转换为Bitmap.以便实现复杂的图形效果(阴影.倒影效果等):再比如一些动态的实时View为便于观察和记录数据.需要临时生成静态的Bitmap. 2.实现方法 1)下面是笔者经常用的一个转换方法 public static Bitmap convertViewToBitmap(View view, int bitmapWidth, int

  • Android App开发中将View或Drawable转为Bitmap的方法

    View转换为Bitmap Android中经常会遇到把View转换为Bitmap的情形,比如,对整个屏幕视图进行截屏并生成图片:Coverflow中需要把一页一页的view转换为Bitmap.以便实现复杂的图形效果(阴影.倒影效果等):再比如一些动态的实时View为便于观察和记录数据.需要临时生成静态的Bitmap. 实现方法: 1)下面是笔者经常用的一个转换方法 public static Bitmap convertViewToBitmap(View view, int bitmapWid

  • Android实现将View保存成Bitmap的方法

    本文实例讲述了Android实现将View保存成Bitmap的方法.分享给大家供大家参考,具体如下: 1. public Bitmap convertViewToBitmap(View view){ Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); //利用bitmap生成画布 Canvas canvas = new Canvas(bitmap); //

  • Android实现EditText内容保存为Bitmap的方法

    本文实例讲述了Android实现EditText内容保存为Bitmap的方法.分享给大家供大家参考,具体如下: 主要代码如下: private void saveEidtTextAsBitmap() { if(mEditText == null) return; mEditText.setDrawingCacheEnabled(true); Bitmap bitmap = mEditText.getDrawingCache(); if(bitmap != null) { saveBitmap(b

  • python实现将汉字保存成文本的方法

    如果汉字不多的话,建议采取下列方式 首先,在python文件中添加 #coding=utf-8 或者 # -*- coding:utf-8 -*- 然后用一个for循环开始处理汉字: with open('str.txt','w') as f: for s in str: s = s.encode('utf-8') f.write(s) 其中str是一个汉字的列表,如:str = ('制造业').decode('utf-8') ,或者从其他地方得到的包含汉字的一个变量,这个变量也需要改成str

  • Android截取指定View为图片的实现方法

    本文实例为大家分享了Android截取指定View为图片的具体代码,供大家参考,具体内容如下 这个功能是为了截取指定的View为图片,然后分享到微信以及朋友圈使用的! 如图所示,我需要截取整个LinearLayout的内容,多余的内容全部都要去掉! //诺,主要观察这两个方法 /** * 压缩图片 * * @param bgimage * @param newWidth * @param newHeight * @return */ public static Bitmap zoomImage(

  • Android studio将Module打包成Jar的方法

    整理记录 AndroidStudio 把一个 module 项目打包成 jar 包. 一.默认自动生成的 jar 包 众所周知 android studio 会在library所依赖的 app运行 或 build 之后自动生成 jar 包,路径为 Module根目录/build/intermediates/bundles/debug or release/classes.jar,这样生成的jar是可以用的,但不是我们可以控制的,所以我们需要通过其他方式来解决这个问题. 注意: 若发现 Andro

  • 将文本文件的内容或者文字保存成图片的方法分享

    调用方法: 复制代码 代码如下: ConvertTextFileToImage(Server.MapPath("~/Log.txt"),Server.MapPath("~/Log.png")); 实现代码: 复制代码 代码如下: void ConvertTextFileToImage(String textFile,String imageFile){System.Drawing.Font drawFont = new System.Drawing.Font(&qu

  • Android应用启动另外一个apk应用的方法

    本文实例讲述了Android应用启动另外一个apk应用的方法.分享给大家供大家参考,具体如下: 在开发的过程中,经常会遇到在一个应用中启动另外一个apk应用的情况 问题的核心点在于我们要拿到第三方apk的package名称跟class名称, 如:package名称是com.funcity.taxi.passenger,class名称是com.funcity.taxi.passenger.activity.LoadActivity. 从一个apk启动到另外一个apk,当然也是通过发送intent了

  • Android实现将View转化为图片并保存到本地

    本文实例为大家分享了Android将View转化为图片并保存到本地的具体代码,供大家参考,具体内容如下 一.概述 app中有需求需要将View转化为图片并保存到本地,这里分两种情况: 1.View本身已经显示在界面上2.View还没有添加到界面上或者没有显示(绘制)过 二.实现方法 对于上述的第一种情况我使用下面代码即可: private void viewSaveToImage(View view) {         view.setDrawingCacheEnabled(true);  

  • Android编程实现手绘及保存为图片的方法(附demo源码下载)

    本文实例讲述了Android编程实现手绘及保存为图片的方法.分享给大家供大家参考,具体如下: 运行效果图预览: 应 yzuo_08 要求做了此Demo,跟以前那个手写板Demo不同的是可以将画布的内容保存为图片. 附上关键代码: MainView.java package com.tszy.views; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; impor

随机推荐