第一种: 从显示缓存中去获取图片,前提是该view必须可见
ImageView v = new ImageView(this);
v.setBackgroundResource(R.drawable.icon);
v.buildDrawingCache(true);
v.buildDrawingCache();
Bitmap bm = v.getDrawingCache();
第二种: 通过画布canvas方式获取,可以在不可见的状态下获取bitmap,不过,相对第一种较耗资源.
/**
* 把View绘制到Bitmap上
*
* @param view 需要绘制的View
* @param width 该View的宽度
* @param height 该View的高度
* @return 返回Bitmap对象
*/
private Bitmap getBitmapFromView(View view, int width, int height)
{
int widthSpec = View.MeasureSpec.makeMeasureSpec(width,
View.MeasureSpec.EXACTLY);
int heightSpec = View.MeasureSpec.makeMeasureSpec(height,
View.MeasureSpec.EXACTLY);
view.measure(widthSpec, heightSpec);
view.layout(0, 0, width, height);
Bitmap bitmap = Bitmap.createBitmap(width, height,
Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawColor(Color.TRANSPARENT);
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG
| Paint.FILTER_BITMAP_FLAG));
view.draw(canvas);
return bitmap;
}
分享到:
相关推荐
在Android开发中,TextView是用于显示纯文本的...两种方法都能实现图片点击的交互,具体选择取决于实际需求和性能考虑。在实际项目中,可以结合demos4Us这样的示例代码进行实践和学习,以更好地理解和应用这些技术。
这个功能允许用户通过两种方式提交图片:直接从设备的相册选择图片或者使用摄像头拍摄新照片。同时,它还包含了图片的压缩功能,以减少上传的数据量,提高网络传输效率,并减轻服务器存储负担。下面我们将详细讨论这...
两种语言都有各自的特性和优势,具体使用哪种取决于项目需求和个人喜好。 8. **UI动态框架**: 为了实现更复杂的动画效果,开发者可能利用了Core Animation或者SwiftUI(如果是Swift项目)来构建动态界面。 9. **第...
本篇文章将详细介绍如何通过两种方法在ListView中显示SD卡中的文件列表。这两种方法分别是:通过继承`ListActivity`显示以及利用`BaseAdapter`显示。 **方法一:继承ListActivity显示** 1. 创建一个继承自`...
在Android中,我们可以通过两种主要方式实现图片的圆角和椭圆效果:一种是通过Java代码处理Bitmap,另一种是创建自定义View并重写其`onDraw()`方法来绘制图形。 1. **通过Java代码处理Bitmap**: 这种方法通常用于...
这两种方法都可以达到自定义Toast显示时间的效果,具体选择哪种方法取决于你的项目需求和个人喜好。扩展Toast类的方式可以更灵活地控制显示逻辑,而使用View动画则更简单直观,但可能受到动画本身限制。 在实际开发...
在本案例中,"cicleImageView(as)" 提供了一种方法来创建一个自定义的圆形ImageView,它允许我们不仅展示圆形图片,还能进一步设置图片的边框以及边框颜色,以增强视觉效果和交互体验。以下将详细介绍这个自定义圆形...
本教程将详细解释如何通过两种方法实现这样的效果,同时也涉及到Tab选项卡的设计。 方法一:使用BottomNavigationView BottomNavigationView是Android官方支持的一种底部导航组件,自Android Design Support ...
这个示例项目是为初学者设计的,旨在帮助理解这两种技术如何协同工作,为Web应用添加动态交互性。 首先,ASP.NET MVC4是一个基于模型-视图-控制器(MVC)设计模式的开源Web框架,由微软开发。它提供了结构化的开发...
4. **网络请求与数据加载**: 为了从服务器获取新闻数据和图片,源码中可能使用了URLSession进行网络请求,或者使用第三方库如Alamofire。数据可能以JSON格式传输,然后通过JSON序列化库如SwiftyJSON解析。 5. **...
本节将深入探讨帧动画的实现方法,包括XML和Java代码两种途径。 一、帧动画的基本概念 帧动画是通过连续展示一组图片来创建动态效果的。在Android中,这些图片通常保存为PNG或JPEG格式,并存储在一个文件夹中。帧...
这两种方法可以帮助我们构建具有层次感的列表,使得信息展示更加清晰、易懂。 首先,让我们了解一下ListView。ListView是Android中最常用的视图组件之一,它用于显示一组可滚动的项目列表。通过适配器(Adapter)...
【生成数据列】 生成发票号码序列的得力助手,可以生成任意的奇偶数列,差值或倍值或者递增、递减的任意有理数数据序列,支持先行后列与先列后行两种方式,支持瞬时恢复清除。 【取RMB张数】 根据员工的工资计算...
通过重写`onItemClick(AdapterView<?> parent, View view, int position, long id)`方法,我们可以获取到被点击的项在Adapter中的位置以及对应的View。 4. **条目间距和尺寸**: GridView的项之间的间距可以通过`...
在Android开发中,动画是提升用户体验的关键因素之一。本文将深入探讨如何利用一系列图片来创建动画,这在游戏...在实际开发中,理解这两种方法的工作原理并灵活运用,能够帮助你创建出更加生动和吸引人的应用界面。
在Android开发中,浮动窗口按钮截图是一种常见的功能,它允许用户在屏幕上自由移动一个按钮,点击该按钮即可快速截图。这种技术涉及到多个Android系统组件和技术,包括浮动窗口、服务和服务的生命周期管理、权限控制...
为了更好地理解和实现这两种方法,可以创建两个页面,如`sandbox/canvas-by-webapp/index.js`中的例子所示。在这个例子中,小程序页面监听`events`中的`receiveData`事件,接收来自Webview的数据,并根据数据执行...
在Android开发中,GridView和ListView是两种常用的布局控件,用于展示数据集合。它们都是基于Adapter的视图组件,能够动态加载数据并将其呈现为网格或列表形式。本篇文章将详细探讨如何将GridView转换为ListView,...
下面我们将详细探讨这两个核心技术以及它们在排队叫号系统中的应用。 **JSP 技术** JSP 是一种动态网页开发技术,它允许开发者在HTML页面中嵌入Java代码或使用JSP标签库来处理动态内容。在排队叫号系统中,JSP主要...