Android屏幕截图功能
2014-02-20 15:22
190 查看
Android手机屏幕截图两种方法:
package com.eastedge; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Bitmap.CompressFormat; import android.graphics.Bitmap.Config; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.widget.Button; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.Toast; public class DemoTestActivity extends Activity { // 要转化的View private FrameLayout frameLayout; Button button; ImageView imageView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); frameLayout = (FrameLayout) findViewById(R.id.frameLayout1); button = (Button) findViewById(R.id.button); imageView = (ImageView) findViewById(R.id.imageView1); imageView.setOnTouchListener(new MulitPointTouchListener()); // 使用getDrawingCache()时:下面这句 必须要加的,要不frameLayout.getDrawingCache()取到的为空 // frameLayout.setDrawingCacheEnabled(true); button.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // 取得View的BitMap两种方法 // Bitmap bm = frameLayout.getDrawingCache(); Bitmap bm = Bitmap.createBitmap(640, 480, Config.ARGB_8888); Canvas canvas = new Canvas(bm); frameLayout.draw(canvas); if (bm != null) { imageView.setImageBitmap(bm); File file = new File(Environment.getExternalStorageDirectory() + File.separator + "1.png"); if (file.exists()) { try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } try { FileOutputStream fos = new FileOutputStream(file); boolean b = bm.compress(Bitmap.CompressFormat.PNG, 100, fos); if (b) { Toast.makeText(DemoTestActivity.this, "截图成功:" + Environment.getExternalStorageDirectory() + File.separator + "1.png", 0).show(); }else { Toast.makeText(DemoTestActivity.this, "截图失败", 0).show(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { Toast.makeText(DemoTestActivity.this, "合成图片失败", 0).show(); } } }); } }
附件:源代码
相关文章推荐
- 【Android应用开发】-(13)屏幕截图功能--截取全屏,无需Root(附源码)
- Android 5.0及以上编程实现屏幕截图功能的方法
- 【Android应用开发】-屏幕截图功能--截取全屏,无需Root(附源码)
- 【Android应用开发】-(13)屏幕截图功能--截取全屏,无需Root(附源码)
- 【Android应用开发】-(13)屏幕截图功能--截取全屏,无需Root(附源码)
- Android 代码实现屏幕截图功能
- Android-屏幕截图功能实现
- C#软件开发实例.个人定制自己的屏幕抓图工具(八)加入了截图功能键盘
- Android中截取当前屏幕的功能
- Android实现截图功能(可根据该代码进行扩展功能)
- bak 3.android 屏幕截图思路.
- Android给scrollView截图超过屏幕大小形成长图
- 在平板导航栏添加屏幕截图功能
- Android Surface 屏幕截图
- PC端获取Android手机当前屏幕截图的方法
- Android实现截图和分享功能的代码
- Android 屏幕截图
- android实现截图功能
- Android getDecorView用途——屏幕截图
- Android屏幕截图实现方式 & 系统截屏源码分析和三指截屏