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 height) {
Bitmap bmp = Bitmap.createBitmap(wIDth,Bitmap.Config.ARGB_8888);
bmp.erasecolor(color);
return bmp;
}
//Usage
Bitmap bmp = createcolorBitmap(color.BLUE,50);
字节数组转Bitmap
复制代码 代码如下:
private Bitmap getBitmapFromByteArray(byte[] array) {
return BitmapFactory.decodeByteArray(array,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,bitmap.getWIDth(),bitmap.getHeight());
final RectF rectF = new RectF(rect);
final float roundPx = pixels;
paint.setAntiAlias(true);
canvas.drawARGB(0,0);
paint.setcolor(color);
canvas.drawRoundRect(rectF,roundPx,paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap,rect,paint);
return output;
}
以上是内存溢出为你收集整理的Android处理图像数据转换的各种方法全部内容,希望文章能够帮你解决Android处理图像数据转换的各种方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)