|
Android操作系统中对于图片的操作我们在以前的文章中也有所介绍。不过对于图片的大小调整往往都局限于固定的调整。如何才能满足动态大小调整呢?我们在这里就为大家详细介绍有关Android图片大小调整的动态实现方法。
昨天,动态获取图片资源获取的很爽啊,后来,换了一张png,128*128的,Run as android application,天哪,居然覆盖了我大半个屏幕,都不留一点情面给我展示了。。。。看来,必须要找个方法让图片自适应大小,于是修改了一下获取图片的代码,让图片能自适应。
一下就是Android图片大小调整的相关代码示例:
1.view plaincopy to clipboardprint?
2.private Bitmap getImageFromAssetFile(String fileName,int how){
3.Bitmap image = null ;
4.try {
5.AssetManager am = game.getAssets();
6.InputStream is = am.open(fileName);
7.image = BitmapFactory.decodeStream(is);
8.is.close();
9.}catch (Exception e){
10.}
11.return zoomImage(image,how);
12.}
13.public Bitmap zoomImage(Bitmap bgimage,int how) {
14.int bmpwidth = bgimage.getWidth();
15.int bmpheight = bgimage.getHeight();
16.float scaleWidth=0;
17.float scaleHeight=0;
18.Matrix matrix = new Matrix();
19.if(how==0){
20.scaleWidth = ((float) width) / bmpwidth;
21.scaleHeight = ((float) height) / bmpheight;
22.}else{
23.scaleWidth=Math.min(width,height)/bmpwidth;
24.scaleHeight=Math.min(width, height)/bmpheight;
25.}
26.private Bitmap getImageFromAssetFile(String fileName,int how){
27.Bitmap image = null ;
28.try {
29.AssetManager am = game.getAssets();
30.InputStream is = am.open(fileName);
31.image = BitmapFactory.decodeStream(is);
32.is.close();
33.}catch (Exception e){
34.}
35.return zoomImage(image,how);
36.}
37.public Bitmap zoomImage(Bitmap bgimage,int how) {
38.int bmpwidth = bgimage.getWidth();
39.int bmpheight = bgimage.getHeight();
40.float scaleWidth=0;
41.float scaleHeight=0;
42.Matrix matrix = new Matrix();
43.if(how==0){
44.scaleWidth = ((float) width) / bmpwidth;
45.scaleHeight = ((float) height) / bmpheight;
46.}else{
47.scaleWidth=Math.min(width,height)/bmpwidth;
48.scaleHeight=Math.min(width, height)/bmpheight;
49.}
其中,scaleWidth和scaleHeight是欲缩放后的大小,这里加个参数how是防止有不需要缩放的情况~
Android图片大小调整的操作方法就为大家介绍到这里。 (编辑:成都北大青鸟名流) |