现在的位置: 首页 > 综合 > 正文

BitMap工具类

2018年05月01日 ⁄ 综合 ⁄ 共 1051字 ⁄ 字号 评论关闭

//获取图片的缩略图 
public Static Bitmap getBitmapThumbnail(String filePath){ 

BitmapFactory.Options options=new BitmapFactory.Options(); 
//true那么将不返回实际的bitmap对象,不给其分配内存空间但是可以得到一些解码边界信息即图片大小等信息 
options.inJustDecodeBounds=true; 
//此时rawBitmap为null 
Bitmap rawBitmap = BitmapFactory.decodeFile(filePath, options); 
if (rawBitmap==null) { 
System.out.println("此时rawBitmap为null"); 

return rawBitmap
}

public Bitmap toRoundCorner(Bitmap bitmap, int pixels) { 
Bitmap roundCornerBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); 
Canvas canvas = new Canvas(roundCornerBitmap); 
int color = 0xff424242;//int color = 0xff424242; 
Paint paint = new Paint(); 
paint.setColor(color); 
//防止锯齿 
paint.setAntiAlias(true); 
Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); 
RectF rectF = new RectF(rect); 
float roundPx = pixels; 
//相当于清屏 
canvas.drawARGB(0, 0, 0, 0); 
//先画了一个带圆角的矩形 
canvas.drawRoundRect(rectF, roundPx, roundPx, paint); 
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); 
//再把原来的bitmap画到现在的bitmap!!!注意这个理解 
canvas.drawBitmap(bitmap, rect, rect, paint); 
return roundCornerBitmap; 

抱歉!评论已关闭.