本文转自:http://www.blogjava.net/mixer-a/archive/2012/02/17/375034.html

本意是想实现一个视频截屏的功能,因为视频是用位图刷新显示的,因此,截屏用到了保存位图的功能,话不多说,贴代码

package xiaosi.bitmap;import android.app.Activity;import android.os.Bundle;public class mianActivity extends Activity{private BitmapView bitmapView = null;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);bitmapView = new BitmapView(this);setContentView(bitmapView);}}

package xiaosi.bitmap;import java.io.File;import java.io.FileOutputStream;import android.content.Context;import android.content.res.Resources;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Matrix;import android.view.View;public class BitmapView extends View{private Matrix matrix = null;public BitmapView(Context context){super(context);}public void onDraw(Canvas canvas){// 获取资源文件的引用resResources res = getResources(); // 获取图形资源文件Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.h);// 设置canvas画布背景为白色canvas.drawColor(Color.BLACK);canvas.drawBitmap(bmp, 0, 0, null);// 定义矩阵对象matrix = new Matrix();//旋转30度matrix.postRotate(30);Bitmap bitmap = Bitmap.createBitmap(bmp, 0, 50, bmp.getWidth(), bmp.getHeight()/2,matrix, true);canvas.drawBitmap(bitmap, 0, 250, null);SaveBitmap(bitmap);}//保存到本地public void SaveBitmap(Bitmap bmp){Bitmap bitmap = Bitmap.createBitmap(800, 600, Config.ARGB_8888);  Canvas canvas = new Canvas(bitmap);//加载背景图片Bitmap bmps = BitmapFactory.decodeResource(getResources(), R.drawable.playerbackground);canvas.drawBitmap(bmps, 0, 0, null);//加载要保存的画面canvas.drawBitmap(bmp, 10, 100, null);//保存全部图层canvas.save(Canvas.ALL_SAVE_FLAG);canvas.restore();//存储路径File file = new File("/sdcard/song/");if(!file.exists())file.mkdirs();try {FileOutputStream fileOutputStream = new FileOutputStream(file.getPath() + "/xuanzhuan.jpg");bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fileOutputStream);fileOutputStream.close();System.out.println("saveBmp is here");}catch (Exception e){e.printStackTrace();}}}该文章中用到了图片的旋转功能,这个自行设置吧,而且文章是保存所有图层,这里我只保存了当前图层而已,可以阅读其API函数,网上很多的。

更多相关文章

  1. Android实现短信验证码自动拦截读取功能
  2. android将InputStream转为FileOutputStream保存HttpURLConnectio
  3. pAdTy_-5 保存数据
  4. Android使用Handler实现下载文件功能
  5. android 显示16色的图片:输入用颜色矩阵,显示对应的16色位图
  6. Android基于Http协议实现文件上传功能的方法
  7. android 实现汉字排序功能的 整理和思考
  8. Android(安卓)开发
  9. Android(安卓)7.0拍照后保存到手机的指定目录并返回显示

随机推荐

  1. Android利用Looper在子线程中改变UI
  2. 录音及播放音频文件
  3. Android全屏对话框(附带延时关闭效果)
  4. Android(安卓)PendingIntent和Intent
  5. android获取系统当前年月日时分秒的时间
  6. 使用NanoHTTPD在android实现web迷你服务
  7. Android下的SQLite数据库的相关操作及And
  8. Android(安卓)NDK编译时出现的问题以及解
  9. 第一章:初入Android大门(程序加载应用)
  10. Android中ListView异步加载数据