如何在后台线程中将View内容保存成图像
2015-04-29 19:37
375 查看
private class GetBitmapRunnable implements Runnable { View mView = null; Config mConfig = null; public GetBitmapRunnable(View view, Config config) { this.mView = view; this.mConfig = config; } public void run() { if (mView == null) return; try { mBitmap = Bitmap.createBitmap(mView.getWidth(), mView .getHeight(), mConfig == null ? Config.RGB_565 : mConfig); Canvas canvas = new Canvas(mBitmap); canvas.drawColor(Color.WHITE); mView.draw(canvas); } catch (Throwable throwable) { if (mBitmap != null) { mBitmap.recycle(); } throwable.printStackTrace(); } } public Bitmap mBitmap; } private Bitmap getBitmap(View v, Config config) { GetBitmapRunnable runnable = new GetBitmapRunnable(v, config); getActivity().runOnUiThread(runnable);// 目的是确保runnable运行在UI线程,可以用其他方法 return runnable.mBitmap; }
getBitmap 函数中 getActivity().runOnUiThread 可以替换成其他工具方法,目的是runnable 可以运行在主线程
然后就可以在任何线程里将view变换成图片了。
相关文章推荐
- Android中将View的内容保存为图像的方法
- Android中将View的内容保存为图像的方法
- Android中将View的内容保存为图像的方法
- Android中将View的内容保存为图像的简单实例
- 在WPF程序中将控件所呈现的内容保存成图像(转载)
- 在WPF程序中将控件所呈现的内容保存成图像
- MFC如何将View(视图)内容保存为图片
- [Android实例] 关于webview如何自动登录保存登录信息
- 将UIImageView上面的图片内容保存到相册
- Mono for android 如何动态添加View,线程内部如何更新UI.
- 截取View当前的图像保存成View
- 将手指滑出的矩形区域保存到图像视图(UIImageView)中(UItouch 触控事件)
- 将View的内容保存为图片
- Android中后台线程如何与UI线程交互
- telnet如何保存输出内容到本地
- C#中将DataSet的内容写成XML时如何格式化字段数据
- jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
- 如果后台的Activity由于某种原因被系统回收了,如何在被系统回收之前保存当前状态?
- 如何在前台表示层中调用后台代码层中的 datatable 中的内容.....
- [iOS]图片压缩&保存View为内容Img