Android获得图片资源的三种方式
jopen
13年前
<span style="line-height:28px;font-family:宋体;color:#333333;font-size:14px;"> <p><b>一</b>、 使用BitmapFactory解析图片</p> <p></p> <pre class="brush:java; toolbar: true; auto-links: false;"> // --> 使用BitmapFactory解析图片 public void myUseBitmapFactory(Canvas canvas){ // 定义画笔 Paint paint = new Paint(); // 获取资源流 Resources rec = getResources(); InputStream in = rec.openRawResource(R.drawable.haha); // 设置图片 Bitmap bitmap =BitmapFactory.decodeStream(in); // 绘制图片 canvas.drawBitmap(bitmap, 0,20, paint); }</pre> <p></p> <p> </p> <p><b>二</b>、 使用BitmapDrawable解析图片</p> <p></p> <pre class="brush:java; toolbar: true; auto-links: false;"> // --> 使用BitmapDrawable解析图片 public void myUseBitmapDrawable(Canvas canvas){ // 定义画笔 Paint paint = new Paint(); // 获得资源 Resources rec = getResources(); // BitmapDrawable BitmapDrawable bitmapDrawable = (BitmapDrawable) rec.getDrawable(R.drawable.haha); // 得到Bitmap Bitmap bitmap = bitmapDrawable.getBitmap(); // 在画板上绘制图片 canvas.drawBitmap(bitmap, 20,120,paint); }</pre> <p></p> <p> </p> <p><b>三、</b> 使用InputStream和BitmapDrawable绘制</p> <p></p> <pre class="brush:java; toolbar: true; auto-links: false;"> // --> 使用InputStream和BitmapDrawable解析图片 public void myUseInputStreamandBitmapDrawable(Canvas canvas){ // 定义画笔 Paint paint = new Paint(); // 获得资源 Resources rec = getResources(); // InputStream得到资源流 InputStream in = rec.openRawResource(R.drawable.haha); // BitmapDrawable 解析数据流 BitmapDrawable bitmapDrawable = new BitmapDrawable(in); // 得到图片 Bitmap bitmap = bitmapDrawable.getBitmap(); // 绘制图片 canvas.drawBitmap(bitmap, 100, 100,paint); }</pre> <p></p> </span>