您现在的位置:首页 > 博客 > Android开发 > UI开发 > 正文
如何才能实现动态的Android图片大小调整,以满足我们在实际应用中的需求呢?
http://www.drovik.com/      2012-9-4 12:13:25      来源:新浪博客      点击:
Android操作系统中对于图片的操作我们在以前的文章中也有所介绍。不过对于图片的大小调整往往都局限于固定的调整。如何才能满足动态大小调整呢?我们在这里就为大家详细介绍有关Android图片大小调整的动态实现方法。
  一下就是Android图片大小调整的相关代码示例:
view plaincopy to clipboardprint?
private Bitmap getImageFromAssetFile(String fileName,int how){
Bitmap image = null ;
try {
AssetManager am = game.getAssets();
InputStream is = am.open(fileName);
image = BitmapFactory.decodeStream(is);
is.close();
}catch (Exception e){
}
return zoomImage(image,how);
}
public Bitmap zoomImage(Bitmap bgimage,int how) {
int bmpwidth = bgimage.getWidth();
int bmpheight = bgimage.getHeight();
float scaleWidth=0;
float scaleHeight=0;
Matrix matrix = new Matrix();
if(how==0){
scaleWidth = ((float) width) / bmpwidth;
scaleHeight = ((float) height) / bmpheight;
}else{
scaleWidth=Math.min(width,height)/bmpwidth;
scaleHeight=Math.min(width, height)/bmpheight;
}
private Bitmap getImageFromAssetFile(String fileName,int how){
Bitmap image = null ;
try {
AssetManager am = game.getAssets();
InputStream is = am.open(fileName);
image = BitmapFactory.decodeStream(is);
is.close();
}catch (Exception e){
}
return zoomImage(image,how);
}
public Bitmap zoomImage(Bitmap bgimage,int how) {
int bmpwidth = bgimage.getWidth();
int bmpheight = bgimage.getHeight();
float scaleWidth=0;
float scaleHeight=0;
Matrix matrix = new Matrix();
if(how==0){
scaleWidth = ((float) width) / bmpwidth;
scaleHeight = ((float) height) / bmpheight;
}else{
scaleWidth=Math.min(width,height)/bmpwidth;
scaleHeight=Math.min(width, height)/bmpheight;
}

其中,scaleWidth和scaleHeight是欲缩放后的大小,这里加个参数how是防止有不需要缩放的情况~

Android图片大小调整的操作方法就为大家介绍到这里。

分享到:
发表评论(0)
姓名 *
评论内容 *
验证码 *图片看不清?点击重新得到验证码