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


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;
    }



相关阅读:
C#特性 扩展方法
php使用百度ping服务代码实例
C语言中用于产生随机数的函数使用方法总结
js将当前时间格式转换成时间搓(自写)
使用GruntJS构建Web程序之Tasks(任务)篇
MongoDB中的bson介绍和使用实例
Java的Struts框架中的主题模板和国际化设置
C++设计模式之单例模式
JavaScript中使用ActiveXObject操作本地文件夹的方法
android照相、相册获取图片剪裁报错的解决方法
查看修改mysql编码方式让它支持中文(gbk或者utf8)
使用PHP和HTML5 FormData实现无刷新文件上传教程
三星笔记本(910S3K-K03)U盘装win7系统图文教程 三星笔记本u盘装win7
Javascript刷新窗口方法小结
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 我的学校作文600 高中生入党思想汇报600字 医学院暑期三下乡实践活动心得体会 【初恋的故事】桃花雨,流星渡 雨记之遥不可及 你敢说,你已经为梦想竭尽全力了? 回忆“海的铃”声 爱情文章:夏日情思 竞聘银行营业部经理演讲稿 职场培养接班人助你晋升 梦醒八分 无需盛装 初中初三作文800字:伞下的故事 圣诞作文800字 你是我的翅膀 融资失败的六大原因 新学期初一新生入团申请书范文 买衣服作文500字 (河务)竞争工程养护处,职务大队长演讲稿竞职演讲 浅谈城市商业网点规划建设——以宁国市为例 一条狗的青春(原创/单线流年) 幼儿园学前教育宣传月活动总结 6月份三周实习周记 秋日里的感动 我喜欢燕子 初中初一作文650字:梦幻校园 很感人的友情文章 流年似水 蔚蓝的风,把我们都吹散…… 2017年元旦贺卡祝福短信精选 友情大过天! 友谊,也是一种感动作文1900字 【短篇小说】顶梁柱(9) 溶洞游记 正月初一的下午 预备党员转正申请书范文一 大学团支部书记工作总结 我们的爱怎么了 那微笑 《尘世》【序】 夏末了,不是冷秋 电信技术竞职演讲 残缺也是一种美作文 爱是什么?作文300字 猫眼石序作文800字 消逝的蝶作文150字 2015党风廉政自查报告 父亲惧内 YouYou真可爱 孔雀东南飞教学设计包括课堂练习 爱情文章:南阳白河清-天-爱逝已难追(结局篇)

Copyright © 2016 phpStudy |