WEB开发网
开发学院手机开发Android 开发 Android Bitmap与Canvas 阅读

Android Bitmap与Canvas

 2010-07-01 15:28:00 来源:WEB开发网   
核心提示:* 在Bitmap中对RGB颜色格式使用Bitmap.Config定义,仅包括ALPHA_8、ARGB_4444、ARGB_8888、RGB_565,Android Bitmap与Canvas(2),缺少了一些其他的,比如说RGB_555,当然,也可以通过BitmapDrawable将位图显示到View中,在开发中可能

* 在Bitmap中对RGB颜色格式使用Bitmap.Config定义,仅包括ALPHA_8、ARGB_4444、ARGB_8888、RGB_565,缺少了一些其他的,比如说RGB_555,在开发中可能需要注意这个小问题;

* Bitmap还提供了compress()接口来压缩图片,不过AndroidSAK只支持PNG、JPG格式的压缩;其他格式的需要Android开发人员自己补充了。

3. 显示位图

显示位图可以使用核心类Canvas,通过Canvas类的drawBirmap()显示位图,或者借助于BitmapDrawable来将Bitmap绘制到Canvas。当然,也可以通过BitmapDrawable将位图显示到View中。

转换为BitmapDrawable对象显示位图

Java代码

// 获取位图

Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic180);

// 转换为BitmapDrawable对象

BitmapDrawable bmpDraw=new BitmapDrawable(bmp);

// 显示位图

ImageView iv2 = (ImageView)findViewById(R.id.ImageView02);

iv2.setImageDrawable(bmpDraw);

// 获取位图

Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic180);

// 转换为BitmapDrawable对象

BitmapDrawable bmpDraw=new BitmapDrawable(bmp);

// 显示位图

ImageView iv2 = (ImageView)findViewById(R.id.ImageView02);

iv2.setImageDrawable(bmpDraw);

使用Canvas类显示位图

这儿采用一个继承自View的子类Panel,在子类的OnDraw中显示

Java代码

public class MainActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(new Panel(this));

}

class Panel extends View{

public Panel(Context context) {

super(context);

}

public void onDraw(Canvas canvas){

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pic180);

canvas.drawColor(Color.BLACK);

canvas.drawBitmap(bmp, 10, 10, null);

}

}

}

上一页  1 2 

Tags:Android Bitmap Canvas

编辑录入:coldstar [复制链接] [打 印]
赞助商链接