android中操作图片

显示图片

    一般是通过ImageView来显示图片,

    mImageView.setImageDrawable(getResources(). getDrawable(R.drawable.baby));

    mImageView.setImageBitmap(bm);

    可以通过Bitmap来构建BitmapDrawable

        BitmapDrawable bd = new BitmapDrawable(bm);

缩放图片

    Matrix  matrix = new Matrix();

    matrix.postScale(scaleWidth,scaleHeight);

    Bitmap resizeBmp = Bitmap.createBitmap(bmp,0,0,bmpWidth,bmpHeight,matrix,true);

    android不允许对创建后的ImageView改变大小,所以需要销毁原来的ImageView,创建新的ImageView。

    layout.removeView();用来移除原来的Imageview。

旋转图片:

          matrix.setRotate(50);  //参数是一个角度值


android操作图片的内容是通过Bitmap这个类来做的,比如得到图片的宽高等等。

通过BitmapFactory来获取保存在各种介质中的图片

1 操作保存在res的drawable里面的图片:

    Bitmap myBmp = BitmapFactory.decodeResource
      (getResources(), R.drawable.baby);


2  操作保存在ByteArray中的图片:

   Bitmap myBmp = BitmapFactory.decodeByteArray();


3 操作保存在sd卡中某个路径下的图片:

    Bitmap myBmp = BitmapFactory.decodeFile(String xx);


4 得到网络中的图片:

   通过BitmapFactory.decodeStream这个函数来获取。 

  public Bitmap getURLBitmap(String urlPic)
  {
    URL imageUrl = null;
    Bitmap bitmap = null;
    try
    {
      /* new URL对象将网址传入 */
      imageUrl = new URL(uriPic);
    } catch (MalformedURLException e)
    {
      e.printStackTrace();
    }
    try
    {
      /* 取得联机 */
      HttpURLConnection conn = (HttpURLConnection) imageUrl
          .openConnection();
      conn.connect();
      /* 取得回传的InputStream */
      InputStream is = conn.getInputStream();
      /* 将InputStream变成Bitmap */
      bitmap = BitmapFactory.decodeStream(is);
      /* 关闭InputStream */
      is.close();
      
    } catch (IOException e)
    {
      e.printStackTrace();
    }
    return bitmap;
  }
  }

你可能感兴趣的:(android中操作图片)