当前位置:首页 > 编程开发

Android图片大小调整动态实现方法

webgou16年前 (2010-08-08)编程开发378

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是防止有不需要缩放的情况~

扫描二维码推送至手机访问。

版权声明:本文由知了博客发布,如需转载请注明出处。

本文链接:https://www.webgou.info/?id=234

标签: android界面
分享给朋友:

“Android图片大小调整动态实现方法” 的相关文章

TD终端寻呼过程详解

网络侧要对一个手机进行寻呼,比如典型的,寻呼处于IDLE状态的UE建立CS呼叫连接,则网络侧要对PCH传输信道(其映射到SCCPCH物理信道)和PICH物理信道进行配置和内容填充。对PCH来说,就是要填充合适的Paging Type 1消息发送出去;而对于PICH来说,则要配置好Paging Occ…

微信小程序反编译

 【下文中的图片显示不全,点击可看全图】工具#node.jswxappUnpacker安卓模拟器-夜神步骤#下载安装 node.js,添加到环境变量(好像安装的时候默认添加到环境变量)cmd 里输入 node -v 出现版本号即表示安装成功下载夜神模拟器,并安…

位图数据内存优化

优化主界面内存占用点滴: 目的:在系统资源有限的情况下,使占有内存能控制在50M 一共41张图片: 1.用cs4工具,自带解析图片:内存从24M-58M 2.URLoader, 一张张解码,用完释放,发现解码速度太慢,造成内存泄漏,达不到效果…

何小鹏:移动互联网不得不看的5个大坑

 这是UC创始人何小鹏在创新派主办PMx沙龙上的一次主题演讲,从产品经理的角度深度挖掘了移动互联网创新的那些坑,很干货,也很毁三观:...…

基于PassThru的NDIS中间层驱动程序扩展

创建时间:2006-05-02 更新时间:2006-05-05文章属性:原创文章提交:Addylee (Addylee2004_at_163.com)基于PassThru的NDIS中间层驱动程序扩展        &nb…

通往WinDbg的捷径(二)

 保存 dumps 在 我们调试不容易重现的问题时,可能想把应用程序状态的快照(内存内容,打开名柄的列表,等等)保存起来,以便日后分析。例如,当我怀疑当前的状态可能包含 我试图解决的问…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。