专栏首页技术小黑屋Android处理图像数据全记录

Android处理图像数据全记录

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

转为Bitmap

RGB值转Bitmap

1 2 3 4 5 6 7 8 9

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

1 2 3 4 5 6 7

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

1 2 3

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

读取文件转Bitmap

1 2 3

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

读取资源转Bitmap

1 2 3

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

输入流转Bitmap

1 2 3

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

Drawable转Bitmap

1

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

转为Drawable

资源转Drawable

1

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

Bitmap转Drawable

1

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

图片圆角展示

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

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

其他

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 说说依赖注入

    在面向对象编程中,我们经常处理处理的问题就是解耦,程序的耦合性越低表明这个程序的可读性以及可维护性越高。控制反转(Inversion of Control或Io...

    技术小黑屋
  • 这可能是最好的 Android/Kotlin日志输出方法

    在编程调试和定位问题的时候,日志是一个最常用的工具。比如输出一些信息,确定执行轨迹。今天我们这里简单聊一聊打印日志的一些分析。

    技术小黑屋
  • How to Delete Git Remote Branches

    It’s easy to remove a certain remote branch in a Git respository. You could try ...

    技术小黑屋
  • android bitmap的内存分配和优化

    首先Bitmap在Android虚拟机中的内存分配,在Google的网站上给出了下面的一段话  ? 大致的意思也就是说,在Android3.0之前,Bitmap...

    xiangzhihong
  • 美图分布式Bitmap实践:Naix

    大数据技术和应用系统目前已经在各个行业中发挥着巨大的作用,各种各样的开源技术也给大数据从业人员带来了很大的便利。Bitmap 作为一种大数据需求下产生的计算体系...

    美图数据技术团队
  • Drawable.Bitmap.Canvas.Paint.Matrix

    由于对Drawable、Bitmap、Canvas、Paint和 Matrix 的关系和使用 一直不太清楚,就在网上搜集了一下,摘录一些,主要来看这两篇文章:D...

    晚晴幽草轩轩主
  • 计数计量单位KMGTPEZY【计算机】【天文】

    Int32 值类型表示值介于 -2,147,483,648 到 +2,147,483,647 之间的有符号整数。

    sunsky
  • Exploration and Exploitation - 探索和利用

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    Steve Wang
  • 0696-5.16.1-如何使用SAS连接CDH5.16.1集群的Hive和Impala

    SAS提供了从基本统计数的计算到各种试验设计的方差分析,相关回归分析以及多变数分析的多种统计分析过程,几乎囊括了所有最新分析方法,其分析技术先进,可靠。分析方法...

    Fayson
  • 大数据变现十日谈之六:用户画像

    “用户画像”这个说法现在是在数据分析和数据挖掘领域是很流行的。 这个说法比较形象,它是指我们在数据库或数据仓库里使用用户信息的记录,对这些信息逐渐丰富以后完成...

    刀刀老高

扫码关注云+社区

领取腾讯云代金券