資源描述:
《android實(shí)現(xiàn)對圖片的縮放、剪切、旋轉(zhuǎn)、存儲(煙臺杰瑞教育android培訓(xùn)部原創(chuàng))》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、煙臺杰瑞教育科技有限公司(Android開發(fā)培訓(xùn)部)版權(quán)所有Android實(shí)現(xiàn)對圖片的縮放、剪切、旋轉(zhuǎn)、存儲一、問題描述 在開發(fā)中,當(dāng)我們需要的有一張大圖片同時(shí)還需要一些小圖片時(shí),我們只需要通過代碼對此圖片進(jìn)行不同比例的縮放即可,這樣大大節(jié)約資源,減小了安裝包的尺寸。除縮放外,我們還經(jīng)常對圖片進(jìn)行其他操作如裁剪、旋轉(zhuǎn)、存儲等?! ∵@樣我們可以編寫對于圖片進(jìn)行處理的通用組件,方便開發(fā)。下面就分享一下對圖片進(jìn)行處理的組件BitmapUtil,案例界面:二、技術(shù)點(diǎn)描述 1、通過BitmapFactory取得BitmapBitmapbm
2、=BitmapFactory.decodeStream(InputStreamis); 2、Bimap的createBitmap()方法Bitmapnewbm=Bitmap.createBitmap(Bitmaps,intx,inty,intw,inth,Matrixm,booleanf); 該方法可實(shí)現(xiàn)位圖的縮放、裁剪、旋轉(zhuǎn)操作------杰瑞教育(www.jerehedu.com)專注IT技能培訓(xùn)打造一流人才服務(wù)平臺------煙臺杰瑞教育科技有限公司(Android開發(fā)培訓(xùn)部)版權(quán)所有 參數(shù)說明:Bitmaps:要處理的
3、原始位圖intx,y:起始位置坐標(biāo)intw:要截的圖的寬度inth:要截的圖的寬度Matrixm矩陣,主要是用于平面的縮放、平移、旋轉(zhuǎn)booleanf:是否保證等比返回值:返回處理后的Bitmap三、BitmapUtil組件可實(shí)現(xiàn)對圖片進(jìn)行按比例縮放、圖片按比例裁剪、圓形圖片處理等方法,實(shí)現(xiàn)功能如下:1、readBitmapById()方法/***通過資源id轉(zhuǎn)化成Bitmap*@paramcontext*@paramresId*@return*/publicstaticBitmapreadBitmapById(Contextcon
4、text,intresId){BitmapFactory.Optionsopt=newBitmapFactory.Options();opt.inPreferredConfig=Bitmap.Config.RGB_565;opt.inPurgeable=true;opt.inInputShareable=true;InputStreamis=context.getResources().openRawResource(resId);returnBitmapFactory.decodeStream(is,null,opt);}----
5、--杰瑞教育(www.jerehedu.com)專注IT技能培訓(xùn)打造一流人才服務(wù)平臺------煙臺杰瑞教育科技有限公司(Android開發(fā)培訓(xùn)部)版權(quán)所有2、scaleImage()方法,實(shí)現(xiàn)按指定寬高縮放圖片 執(zhí)行效果如圖:/***縮放圖片*@parambm要縮放圖片*@paramnewWidth寬度*@paramnewHeight高度*@return處理后的圖片*/publicstaticBitmapscaleImage(Bitmapbm,intnewWidth,intnewHeight){if(bm==null){retu
6、rnnull;}intwidth=bm.getWidth();intheight=bm.getHeight();floatscaleWidth=((float)newWidth)/width;floatscaleHeight=((float)newHeight)/height;Matrixmatrix=newMatrix();matrix.postScale(scaleWidth,scaleHeight);Bitmapnewbm=Bitmap.createBitmap(bm,0,0,width,height,matrix,true)
7、;if(bm!=null&!bm.isRecycled()){bm.recycle();//銷毀原圖片bm=null;}returnnewbm;}------杰瑞教育(www.jerehedu.com)專注IT技能培訓(xùn)打造一流人才服務(wù)平臺------煙臺杰瑞教育科技有限公司(Android開發(fā)培訓(xùn)部)版權(quán)所有3、imageCrop()方法執(zhí)行效果如圖:/***按照一定的寬高比例裁剪圖片*@parambitmap要裁剪的圖片*@paramnum1長邊的比例*@paramnum2短邊的比例*@paramisRecycled是否回收原圖片
8、*@return裁剪后的圖片*/publicstaticBitmapimageCrop(Bitmapbitmap,intnum1,intnum2,booleanisRecycled){if(bitmap==null){returnnu