Android中通过BitmapDrawable获取Bitmap

一个BitmapDrawable就是封装了一个位图。直接以文件的方式,就是封装了一个原始的位图。要了解BitmapDrawable的使用,还需要明白Bitmap、BitmapFactory等类。Bitmap代表了一个原始的位图,并且可以对位图进行一系列的变换操作。BitmapFactory提供一系列的方法用于产生一个Bitmap对象。多用在Canvas中。下面贴一段BitmapDrawable获取Bitmap的代码片段,附带简单的图片裁剪和缩放:

/**
	 * 功能:显示缩略图,大小为40*40
	 * @param rsid
	 * @return
	 */
	public Bitmap getAdjustBitmap(int rsid){
		//通过openRawResource获取一个inputStream对象  
        InputStream inputStream = getResources().openRawResource(rsid);  
        //通过一个InputStream创建一个BitmapDrawable对象  
        BitmapDrawable drawable = new BitmapDrawable(inputStream);  
        //通过BitmapDrawable对象获得Bitmap对象  
        Bitmap bitmap = drawable.getBitmap();  
        //利用Bitmap对象创建缩略图  
        bitmap = ThumbnailUtils.extractThumbnail(bitmap, 40, 40); 
        return bitmap;
       
	}
/**
	 * 功能:image2从image1中截取120*120大小后显示,截取起始坐标为(x,y)
	 * @param img0
	 * @param img1
	 * @return
	 */
	public void setCutBitmap(ImageView img0,ImageView img1,int x,int y){
		BitmapDrawable bitmapDrawable = (BitmapDrawable) img0.getDrawable();
		//获取第一个图片显示框中的位图
		Bitmap bitmap= bitmapDrawable.getBitmap();
		//显示图片的指定区域
		img1.setImageBitmap(Bitmap.createBitmap(bitmap, x, y, 120, 120));
	}

源码下载请点击: 源码下载



你可能感兴趣的:(bitmap,canvas,bitmapdrawable,imageview,Android2D)