今天做一个应用,新增一笔记录到sqlite中去,
记录中有一个字段是一个图像,在新增界面中我用的是imageview控件,点击弹出一个对话框,列出可供选择的图像,单击选择,但是提交后图像显示不正确,只显示一个黑框,我的代码是这样的
Bitmap image = Bitmap.createBitmap(imageView.getDrawable(). .....);
从imageview的Drawable里取出信息构造一个bitmap,事实证明是行不通的。
搜索了一下怎么把ImageView转换成Bitmap,发现网上提供一种方法:
imageView.buildDrawingCache();
Bitmap bmap = imageView.getDrawingCache();
我试了一下,成功是成功了,但是得到的bitmap大小不对,原本很大的,放到列表里显示得超小,不是我想要的结果。
后来试了一下:
Bitmap image = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
成功搞定。
分享到:
相关推荐
Android 中 Canvas 转换为 Bitmap 是一种常见的需求,especially 在需要将 Canvas 绘制的图形显示在 ImageView 中的情况下。在这篇文章中,我们将详细介绍如何将 Canvas 转换为 Bitmap,并将其显示在 ImageView 中。...
总之,"android Tif Tiff格式的图片转换成bitmap 读取TIFF传真格式图片DEMO下载"这个资源提供了一个实用的方法,帮助开发者在Android应用中处理TIF/TIFF格式的图像,通过SeeTiff库实现图片的读取和转换,让Android...
本篇将详细介绍如何在Android中将`Bitmap`转换为圆角图像,并在`ImageView`中显示。 首先,让我们了解`Bitmap`对象。`Bitmap`是Android系统中的一个类,用于表示像素数据,通常用于存储和操作图像。为了将`Bitmap`...
- 当Drawable包含动画时(如Animatable),转换成Bitmap可能会丢失动画效果。 - 使用`Drawable.ConstantState`可以复用Drawable,减少内存开销,但不适用于所有类型的Drawable。 4. **应用场景** - Bitmap更...
要将Bitmap转换为圆角,我们需要自定义一个ImageView或使用图片处理库来实现这一功能。 在Android中,有几种方法可以实现Bitmap的圆角化: 1. **自定义View**:创建一个继承自ImageView的自定义控件,重写`onDraw...
首先,将Bitmap转换为Byte数组,然后将其作为额外参数放入Intent。在目标Activity中,再将Byte数组还原为Bitmap。但是,对于大Bitmap,这可能导致内存问题。 ```java // 发送Activity Bitmap bitmap = ...; byte[] ...
这个类主要用于解码图像资源,将其转换为Bitmap对象。在Android中,Bitmap是表示图像数据的基本类型,可以用来设置ImageView的图像。通过Bitmap,我们可以获取到图像的原始尺寸,这在某些情况下可能很有用,例如缩放...
注意: DEMO里图片的URL需要更换成你需要下载的URL, 否则我使用...此DEMO实现了将网络服务器上的TIFF或TIF格式的图片下载到本地, 然后转换成BITMAP, 再使用相关VIEW显示出来, 可以是imageview, photoview等.看自己需求.
综上所述,通过使用Bitmap、Canvas和Paint,我们可以实现将矩形Bitmap转换为圆形并展示在ImageView中。在实际开发中,还需要注意内存管理和性能优化,确保应用的稳定性和效率。在`ImageViewDemo`这个项目中,你可以...
这段代码首先获取资源中的图片,将其转换为Bitmap,然后调用`toRoundCorner`方法(应替换为`getRoundedCornerBitmap`)来创建圆角Bitmap,最后将处理后的图片设置为LinearLayout的背景。 通过以上方法,开发者可以...
output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(output); final int color = 0xff424242; final Paint paint = new Paint(); ...
这段代码创建了一个圆形的ImageView,其中`BitmapShader`将Bitmap转换为圆形,`drawCircle()`则在画布上绘制出这个圆形。 4. **优化与注意事项**: - 为了性能考虑,避免在`onDraw()`中进行耗时的操作,如解码...
图片比例缩放和Bitmap转换为BitmapDrawable是其中的关键步骤,尤其在优化应用性能、节省资源消耗方面起着决定性作用。这篇博文将深入探讨这两个主题。 首先,我们来谈谈图片比例缩放。在Android中,加载大尺寸的...
3. **Bitmap操作**: 通常,我们首先需要将加载的图片转换为`Bitmap`对象,然后使用`Bitmap.createBitmap()`创建一个新的与原图大小相同的Bitmap,并设置其背景为透明。接着,可以调用`BitmapShader`来创建一个基于...
在上面的代码中,我们首先创建了一个`Paint`对象用于绘制,然后在`onDraw()`方法中,我们获取到图片资源,将其转换为圆形Bitmap,并在`Canvas`上绘制。`getCircularBitmap()`方法是关键,它裁剪了原始Bitmap以形成...
// 将ImageView的图片绘制到Bitmap上 super.onDraw(tempCanvas); // 创建Paint对象用于画圆 Paint paint = new Paint(); paint.setAntiAlias(true); // 设置抗锯齿 // 创建Path对象,绘制圆形 Path path = ...
"把bitmap处理成圆角"是Android UI设计中一个重要的技术点,它涉及到图像处理和自定义View的知识。 首先,我们需要理解Bitmap的基本概念。Bitmap是Android中用于存储图像数据的数据结构,它可以是像素数组的形式,...
这里的 R.drawable.tianjin 是一个资源文件的 id,decodeResource 方法将其转换为 Bitmap 对象。 2. 从图像文件中获取 Bitmap 可以使用 BitmapFactory 的 decodeFile 方法从图像文件中获取 Bitmap,例如: Java ...
将获取到的字节数组转换为Bitmap,然后设置给ImageView: ```java try { byte[] imageBytes = getBitmapBytes("http://example.com/image.jpg"); Bitmap bitmap = BitmapFactory.decodeByteArray(imageBytes, 0, ...
总结来说,这个圆形ImageView的实现主要依赖于Android的自定义View机制,通过对onDraw()方法的重写,结合BitmapShader和Canvas的使用,实现了将矩形图像转换为圆形显示的功能。在实际开发中,开发者可以根据需求对这...