显示图片
一般是通过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;
}
}