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 交通频道 作文范文 浅谈如何建立公安派出所监督机制 公司后备干部队伍建设的总结 2015绩效工资实施方案 那香味作文700字 扬生态农业优势 走特色产业之路 瀛台役 为生态之神的诞辰喝彩(朗诵诗) 寒假难忘的事作文 跟自己闲聊 荆棘丛中过,芬芳心目留 高中高三作文1200字:春节纪事 诉衷情(赵德大还延平,因语旧游,作此以赠之) 致北极星(三) “三个代表” 清明节扫墓程序 洗尽铅华回归初心 竞赛上的感恩演讲稿范文 在跑动的过程中,也能使自己信心增强,会激发很多正能量 县委书记在全县武装工作会议上的讲话 中国金融信息产业准入设限之诉分析 高中高三作文1200字:我的特护工 阳光偏爱的一个地方作文1500字 高中高一作文900字:雨中游鼎湖 新来的数学老师作文450字 小学小考作文900字:爷爷带我放风筝 市科级领导班子年龄结构合理化问题调查报告 关于座右铭的作文 我要爱上谁 《一起同过窗》 我的大学流水账 从研究生面馆创业失败案例,看大学生创业失败原因 2015如何加强税源管理的几点思考 原谅你 关口街道力创四强深化党建工作 神魔之子(十)作文3000字 他的一个微笑550字 六级考试作弊检讨书 回眸里的情劫 如是分离何必相聚 成功的汗水 矫正陋习作文500字 2015中学政治教学研究会年会开幕词 《荆轲刺秦王》导学案(一) 空袖子的美作文500字 关于鼓手夏河 暑期实践报告:“讲文明,迎奥运,树新风”在长寿之乡_实习报告 2013年5月十八大思想汇报 这就是青春作文 小学五年级作文450字:豆芽种植观察日记(一) 金工实习报告--做个工科人 谢谢,那个对我不离不弃的男人!

Copyright © 2016 phpStudy |