drawable java什么意思_[Java教程]drawable以及Bitmap的基本操作

本文介绍了Android开发中如何将Drawable转换为Bitmap,包括两种常见方法:通过Canvas绘制和直接获取BitmapDrawable的Bitmap。同时讲解了Canvas的基本使用,如drawBitmap()方法用于在画布上绘制图像,并提供了示例代码展示如何自定义位图大小。
摘要由CSDN通过智能技术生成

[Java教程]drawable以及Bitmap的基本操作

0 2015-08-08 12:00:06

一.drawable  图形对象,可以转载常用格式的图像,可能是(位图)Bitmapdrawable,或者shapedrawable(图形),还可能是多种其他图片格式GIF,PNG,JEPG

二.Bitmap 就是位图,用于图片的处理

三.Canvas 意为画布,就是绘画的目标区域,用来管理Bitmp或者path路径

下面就是讲到drawable转换成Bitmap的方法

我所知有两种方法(两种方法谁好谁坏,得看情况)

(1)常见的一种方法就是创建个Bitmap出来,再用画布绑定这个位图,将drawable绘到Bitmap上(此方法用于此时的drawable对象不是bitmap图像时)Bitmap bitmap=Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);//创建一个size宽size高的一个位图Canvas canvas=new Canvas(bitmap);//将画布绑定到该位图上,为接下来的drawable绘画做准备drawable.setBounds(0,0,size,size);//drawable设置大小与位图相同drawable.draw(canvas);//将drawable通过画布画到Bitmap上去

(2)另外一种方法就是直接获取Bitmap(bitmapdrawable)Bitmap icon=BitmapFactory.decodeResource(context.getResources(),R.drawable.icon_resource)//将drawable对象中的icon_resource图像转换成位图文件icon

或者BitmapDrawable bd = (BitmapDrawable) drawable;//先转换成Bitdrawable bitmap = bd.getBitmap();//再通过getBitmap()获取到Bitmap

另外关于drawmap()方法的说明

drawBitmap()方法:绘制图像,该方法用于在画布上绘制图像,是通过Bitmap对象来实现,当要引入图片资源时,我们可以采取该方法。

drawBitmap (Bitmap bitmap, float left, float top, Paint paint)

参数说明

bitmap:Bitmap对象,代表了图像资源。

left:图像显示的左边位置。

top:图像显示的上边位置。

paint:绘制时所使用的画笔。

在上述方法1中就是采用了该方法。public class MyTile extends View{public Bitmap[] bitmap1; private static final int size=12;public MyTile(Context context, AttributeSet attrs){super(context, attrs);Get_Bitmap();// TODO 自动生成的构造函数存根}/* (非 Javadoc) * @see android.view.View#onDraw(android.graphics.Canvas) */public void Get_Bitmap(){bitmap1=new Bitmap[1];Bitmap bitmap=Bitmap.createBitmap(size, size, Config.ARGB_8888);//创建一个size正方形大小的新位图 Drawable drawable=getResources().getDrawable (R.drawable.greenstar);//获取drawable对象Canvas canvas=new Canvas(bitmap);//Bitmap绑定画布drawable.setBounds(0,0,size,size);//设置drawable对象大小size drawable.draw(canvas);//最后将drawable画到Bitmap的canvas上去 bitmap1[0]=bitmap;}protected void onDraw(Canvas canvas){// TODO 自动生成的方法存根super.onDraw(canvas);Paint paint=new Paint();paint.setColor(Color.BLACK); canvas.drawBitmap(bitmap1[0], 200, 200, paint);}}

上述方法可以裁定图片的大小尺寸,在自定义位图大小的情况下通常采用这种方法

本文网址:http://www.shaoqun.com/a/131545.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值