源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-06-28 23:44 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android处理图像数据转换的各种方法
Android中处理图像是一件很常见的事情,这里记录备忘一些亲身使用过的处理图片数据的方法。 [b]转为Bitmap[/b] [b]RGB值转Bitmap [/b]
[u]复制代码[/u] 代码如下:
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);
[b]Color值转Bitmap[/b]
[u]复制代码[/u] 代码如下:
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);
[b]字节数组转Bitmap[/b]
[u]复制代码[/u] 代码如下:
private Bitmap getBitmapFromByteArray(byte[] array) {   return BitmapFactory.decodeByteArray(array, 0, array.length); }
[b]读取文件转Bitmap[/b]
[u]复制代码[/u] 代码如下:
private Bitmap getBitmapFromFile(String pathName) {       return BitmapFactory.decodeFile(pathName); }
[b]读取资源转Bitmap[/b]
[u]复制代码[/u] 代码如下:
private Bitmap getBitmapFromResource(Resources res, int resId) {       return BitmapFactory.decodeResource(res, resId);   }
[b]输入流转Bitmap[/b]
[u]复制代码[/u] 代码如下:
private Bitmap getBitmapFromStream(InputStream inputStream) {       return BitmapFactory.decodeStream(inputStream); }
[b]Drawable转Bitmap[/b]
[u]复制代码[/u] 代码如下:
Bitmap icon = BitmapFactory.decodeResource(context.getResources(),R.drawable.icon_resource);
[b]转为Drawable[/b] [b]资源转Drawable [/b]
[u]复制代码[/u] 代码如下:
Drawable drawable = getResources().getDrawable(R.drawable.ic_launcher);
Bitmap转Drawable
[u]复制代码[/u] 代码如下:
Drawable d = new BitmapDrawable(getResources(),bitmap);
[b]图片圆角展示[/b] 通过对图片数据bitmap进行处理即可,其中pixels为边角的半径。
[u]复制代码[/u] 代码如下:
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)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部