在Android 中 Draw Bitmap

      今天与大家交流 Bitmap 的绘制方法。昨晚和一个兄弟交流关于 imageButton 的问题。请看下面的图片,第一张是运行在模拟器上效果,第二张是运行在真机Q7 上的效果。 



开始我一直怀疑是他的布局上有问题,看完他的布局后,改动了下,还是不行。后来再在工程的 res 目录下的drawable-mdpi、drawable-ldpi、drawable-hdpi 三个子目录加载对应的图片,就解决了。因为在之前的版本中,只有一个drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个,这三个主要是为了支持多分辨率。

  drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:

  (1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)

  (2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)

  (3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)

  系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。

  在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。



 下面再讲下使用 filter 功能来 绘制图片:

1、先在对应的 drawable 中加载 需要的图片。

2、Code 部分:

package com.drawbitmap;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.widget.ImageView;

public class drawBitmap extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
      //
     ImageView image = (ImageView) this.findViewById(R.id.ImageView01);
     Bitmap photo = BitmapFactory.decodeResource(this.getResources(),R.drawable.images01);         

    int bmpwidth = photo.getWidth();
    int bmpheight = photo.getHeight();
    Matrix matrix = new Matrix();
    matrix.postScale(2,2);
    Bitmap bm = Bitmap.createBitmap(photo,0,0,bmpwidth,bmpheight ,matrix,true);

    image.setImageBitmap(bm);
  }

}


上面 Code 部分中 红色标明的地方便是开关 filter。下面看看运行结果:

未使用 filter:                                                                         使用 filter:


没有过滤的图片看上去要粗糙些,而且色彩上也要灰白一些。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值