Android处理图像数据转换的各种方法

 更新时间:2015年01月16日 10:51:52   投稿:junjie  
这篇文章主要介绍了Android处理图像数据转换的各种方法,本文讲解了RGB值转Bitmap、Color值转Bitmap、字节数组转Bitmap、读取文件转Bitmap、读取资源转Bitmap、输入流转Bitmap等内容,需要的朋友可以参考下

Android中处理图像是一件很常见的事情,这里记录备忘一些亲身使用过的处理图片数据的方法。

转为Bitmap

RGB值转Bitmap

复制代码 代码如下:

private Bitmap createColorBitmap(String rgb, int width, int height) {
      Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
      int color = Color.parseColor(rgb);
      bmp.eraseColor(color);
      return bmp;
}

//Usage
Bitmap bmp = createColorBitmap("#cce8cf", 200, 50);

Color值转Bitmap

复制代码 代码如下:

private Bitmap createColorBitmap(int color, int width, int height) {
  Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
  bmp.eraseColor(color);
  return bmp;
}
//Usage
Bitmap bmp = createColorBitmap(Color.BLUE, 200, 50);

字节数组转Bitmap

复制代码 代码如下:

private Bitmap getBitmapFromByteArray(byte[] array) {
  return BitmapFactory.decodeByteArray(array, 0, array.length);
}

读取文件转Bitmap

复制代码 代码如下:

private Bitmap getBitmapFromFile(String pathName) {
      return BitmapFactory.decodeFile(pathName);
}

读取资源转Bitmap

复制代码 代码如下:

private Bitmap getBitmapFromResource(Resources res, int resId) {
      return BitmapFactory.decodeResource(res, resId);
  }

输入流转Bitmap

复制代码 代码如下:

private Bitmap getBitmapFromStream(InputStream inputStream) {
      return BitmapFactory.decodeStream(inputStream);
}

Drawable转Bitmap

复制代码 代码如下:

Bitmap icon = BitmapFactory.decodeResource(context.getResources(),R.drawable.icon_resource);

转为Drawable

资源转Drawable

复制代码 代码如下:

Drawable drawable = getResources().getDrawable(R.drawable.ic_launcher);

Bitmap转Drawable
复制代码 代码如下:

Drawable d = new BitmapDrawable(getResources(),bitmap);

图片圆角展示

通过对图片数据bitmap进行处理即可,其中pixels为边角的半径。

复制代码 代码如下:

public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) {
        Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap
                .getHeight(), Config.ARGB_8888);
        Canvas canvas = new Canvas(output);

        final int color = 0xff424242;
        final Paint paint = new Paint();
        final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
        final RectF rectF = new RectF(rect);
        final float roundPx = pixels;

        paint.setAntiAlias(true);
        canvas.drawARGB(0, 0, 0, 0);
        paint.setColor(color);
        canvas.drawRoundRect(rectF, roundPx, roundPx, paint);

        paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
        canvas.drawBitmap(bitmap, rect, rect, paint);

        return output;
    }

相关文章

  • 全面解析Android之ANR日志

    全面解析Android之ANR日志

    不论从事安卓应用开发,还是安卓系统研发,应该都遇到应用无响应(简称ANR)问题,当应用程序一段时间无法及时响应,则会弹出ANR对话框,让用户选择继续等待,还是强制关闭。本文将带你全面解析Android之ANR日志
    2021-06-06
  • Okhttp3实现爬取验证码及获取Cookie的示例

    Okhttp3实现爬取验证码及获取Cookie的示例

    本篇文章主要介绍了Okhttp3实现爬取验证码及获取Cookie的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Android开发实现仿京东商品搜索选项卡弹窗功能

    Android开发实现仿京东商品搜索选项卡弹窗功能

    这篇文章主要介绍了Android开发实现仿京东商品搜索选项卡弹窗功能,涉及Android布局及事件响应相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • Android实现qq列表式的分类悬浮提示

    Android实现qq列表式的分类悬浮提示

    工作中遇到了一个需求,让应用中的一个列表按照分类显示,并且能提示当前是在哪个分类,度娘了一番,参考了前辈们的博客后实现了,现在分享给大家,有需要的可以参考借鉴。
    2016-09-09
  • android在异步任务中关闭Cursor的代码方法

    android在异步任务中关闭Cursor的代码方法

    android在异步任务中如何关闭Cursor?在我们开发应用的时候,很多时候会遇到这种问题,下面我们就看看代码如何实现
    2013-11-11
  • Android自定义有限制区域的图例角度自识别涂鸦工具类完结篇

    Android自定义有限制区域的图例角度自识别涂鸦工具类完结篇

    这篇文章主要为大家介绍了Android自定义有限制区域的图例角度自识别涂鸦工具类完结篇,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Android 8.0系统中通知栏的适配微技巧

    Android 8.0系统中通知栏的适配微技巧

    这篇文章主要介绍了Android 8.0系统中通知栏的适配微技巧,Android 8.0系统最主要需要进行适配的地方有两处:应用图标和通知栏。具体配置方法技巧大家参考下本文
    2018-04-04
  • Android仿百度壁纸客户端之搭建主框架(一)

    Android仿百度壁纸客户端之搭建主框架(一)

    这篇文章主要介绍了Android仿百度壁纸客户端,搭建主框架,自定义Tab+ViewPager+Fragment,具有一定的实用性,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Android Canvas和Bitmap结合绘图详解流程

    Android Canvas和Bitmap结合绘图详解流程

    在 Android Canvas 上绘图非常难,在绘图时需要理解许多不同的类和概念。这篇文章中,将介绍 Android 框架中可用的一些类,它们可以让画布使用时更轻松
    2021-11-11
  • Android入门之在SharedPreference中使用加密

    Android入门之在SharedPreference中使用加密

    这篇文章主要为大家详细介绍了Android如何使在SharedPreference中使用加密,文中的示例代码讲解详细,对我们学习Android有一定的帮助,需要的可以参考一下
    2022-12-12

最新评论