android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下:
1、Drawable → Bitmap
Java代码
1. public static Bitmap drawableToBitmap(Drawable drawable) {
2.
3. Bitmap bitmap = Bitmap
4. .createBitmap(
5. drawable.getIntrinsicWidth(),
6. drawable.getIntrinsicHeight(),
7. drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
8. : Bitmap.Config.RGB_565);
9. Canvas canvas = new Canvas(bitmap);
10. //canvas.setBitmap(bitmap);
11. drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
12. drawable.draw(canvas);
13. return bitmap;
14. }
public static Bitmap drawableToBitmap(Drawable drawable) {
Bitmap bitmap = Bitmap
.createBitmap(
drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight(),
drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
: Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(bitmap);
//canvas.setBitmap(bitmap);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
drawable.draw(canvas);
return bitmap;
}
2、从资源中获取Bitmap
Java代码
1. Resources res=getResources();
2.
3. Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);
Resources res=getResources();
Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);
3、Bitmap → byte[]
Java代码
1. private byte[] Bitmap2Bytes(Bitmap bm){
2. ByteArrayOutputStream baos = new ByteArrayOutputStream();
3. bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
4. return baos.toByteArray();
5. }
private byte[] Bitmap2Bytes(Bitmap bm){ ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.PNG, 100, baos); return baos.toByteArray(); }
4、 byte[] → Bitmap
Java代码
1. private Bitmap Bytes2Bimap(byte[] b){
2. if(b.length!=0){
3. return BitmapFactory.decodeByteArray(b, 0, b.length);
4. }
5. else {
6. return null;
7. }
8. }
private Bitmap Bytes2Bimap(byte[] b){
if(b.length!=0){
return BitmapFactory.decodeByteArray(b, 0, b.length);
}
else {
return null;
}
}
以上是我在实践中遇到的一些转换,以后遇到类似的就不用到处找了,希望对大家也有一点用处!
分享到:
相关推荐
通过上述步骤,开发者可以利用`AndroidWebP-GradlePlugin`自动化地将Android项目中的图片资源转换为WebP格式,从而提升应用的加载速度和节省存储空间。这仅仅是Android资源优化的一个方面,还有其他技术如使用SVG...
在Android开发中,图片资源是应用界面设计的重要组成部分,它们为用户提供...总的来说,这些Android图片资源对于快速搭建和美化应用界面非常有用。通过合理的规划和使用,开发者可以创建出既美观又高效的Android应用。
- **预处理**:在构建应用时,将原始图片资源转换为加密格式,这可能涉及到对像素数据进行操作,或者利用特定加密算法对二进制图像数据进行编码。 - **存储**:加密后的图片资源会被存储在应用的assets或res目录下...
本篇文章将深入探讨Android图片转换器的代码实现,旨在帮助开发者更好地理解和运用相关技术。 首先,Android图片转换器的核心是利用Android的多媒体处理库,如Android的Bitmap类,它提供了对图像进行各种操作的基础...
- 资源管理:确保所有使用的图片资源在转换完成后被正确释放,防止内存泄漏。 - 多线程处理:为了提高性能,可以在后台线程进行转换操作,避免阻塞UI线程。 6. **拓展知识** - `Surface`与`MediaCodec`:在处理...
本教程将指导你如何将SVG转换为Android可用的VectorDrawable资源。 首先,你需要下载提供的压缩包`svg2android-gh-pages`。这是一个在线工具的源代码,该工具可以方便地将SVG文件转换为Android VectorDrawable的XML...
### Android图片转换为数据流形式保存 在Android开发过程中,有时我们需要将图片以数据流的形式保存起来,这样做可以便于传输、存储以及后续处理。下面我们将详细介绍几种常见的实现方式。 #### 1. Bitmap转Byte...
本主题将详细介绍如何将一个使用其他编码方式的Android项目转换为UTF-8编码,以确保代码的正确显示和处理。 首先,我们看到压缩包中包含了一个名为"Android项目编码的批量修改.docx"的文档。这个文档很可能是详细的...
在Android开发中,图片资源的获取是至关重要的,无论是在创建用户界面、处理用户上传的图片,还是在显示网络上的图像,都需要灵活有效地获取图片。本文将深入探讨五种主要的图片资源获取方法:相册图片、拍照图片、...
了解这些转换方法后,开发者可以根据具体需求灵活地在Bitmap和Drawable之间进行切换,从而更好地管理和操作Android应用程序中的图像资源。在实际开发中,需要注意内存管理和性能优化,比如避免不必要的大内存分配,...
本资源"安卓头像制作图片圆角剪裁相关-快速实现Android图片圆角转换效果源码.rar"提供了一种快速实现这一效果的方法,虽然可能需要开发者根据具体情况进行调整以确保其在不同场景下的正常运行。 首先,Android中...
在Android开发中,图片资源是应用界面不可或缺的部分。在处理图片资源时,有时我们会遇到`.plist`文件,这种文件格式通常用于存储iOS平台的图像数据,但也可以在Android项目中用到,特别是在处理图片序列或者动画时...
在Android开发中,我们经常会遇到处理图像的问题,其中包括将不同色彩模式的图片转换为其他模式。本篇文章将详细探讨如何将一张CMYK(青、洋红、黄、黑)模式的图片转换成RGB(红、绿、蓝)模式的图片。我们将基于一...
总之,"android Tif Tiff格式的图片转换成bitmap 读取TIFF传真格式图片DEMO下载"这个资源提供了一个实用的方法,帮助开发者在Android应用中处理TIF/TIFF格式的图像,通过SeeTiff库实现图片的读取和转换,让Android...
本文介绍了在Android中获取图片资源的几种常见方法,包括从应用内部的`drawable`目录获取图片资源、从`assets`目录获取图片资源以及从SD卡获取图片资源等。掌握这些技巧可以帮助开发者更加灵活高效地处理图片,从而...
本资源"安卓Android源码——android 安卓画廊 照片转换器.rar"提供了一个具体的实现案例,帮助开发者理解和学习如何在Android环境中构建这样的功能。以下是基于这个压缩包中的源码,我们可以学到的关键知识点: 1. ...
- 结果可以用于Android应用中的图片资源,根据需求选择单张大图或连续帧。 5. **在Android开发中的应用** - 使用转换后的PNG序列,可以创建自定义的动画View,如利用AnimationDrawable或Lottie库进行动画处理。 ...
"glide-transformations"是一个强大的库,它为Glide——一个流行的Android图片加载库——提供了丰富的图像转换功能。这个库能够帮助开发者轻松实现这些效果,提高应用的用户体验。 首先,我们要理解Glide的基础。...
在Android平台上,将视频或多张图片转换为GIF图是一项常见的需求,特别是在社交媒体应用、游戏和个性化应用中。本文将详细介绍如何在Android环境中实现这一功能。 首先,我们需要理解GIF(Graphics Interchange ...