package Ġcom . s let ical boy . util Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . os . Environment Ċ import Ġandroid . util . Base 6 4 Ċ import Ġandroid . util . Log Ċ import Ġandroidx . ex if interface . media . Ex if Interface Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . io . File Ċ import Ġjava . io . IOException Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġren le i Ċ Ġ* ĠDATE : Ġ 1 5 - 1 1 - 5 Ċ Ġ* ĠTime : Ġä¸ĭåįĪ 7 : 2 1 Ċ Ġ* ĠEmail : Ġle i . ren @ ren ren - inc . com Ċ Ġ*/ Ċ object ĠImage Utils Ġ{ ĊĊĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Image Utils " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ ä¿ĿåŃĺ æĸĩä»¶çļĦ è·¯å¾Ħ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġsave Image Path : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Environment . get External Storage State () Ġ== ĠEnvironment . MEDIA _ MOUNT ED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpath : ĠString Ġ= ĠEnvironment . get External Storage Directory (). path Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ daily work /" Ġ+ ĠSystem . currentTimeMillis () Ġ+ Ġ". jpg " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! file . parent File . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfile . parent File . mkdir s () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpath ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSystem . currentTimeMillis (). toString () Ġ+ Ġ". jpg " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave Image ( file : ĠFile , Ġdata : ĠByteArray , ĠfilePath : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= ĠBitmap Factory . Options () ĊĠĠĠĠĠĠĠ Ġoptions . in Just Decode Bounds Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġval Ġtemp Bitmap Ġ= ĠBitmap Factory . decode File ( filePath , Ġoptions ) ĊĠĠĠĠĠĠĠ Ġval Ġdegrees Ġ= Ġget Ex if Rotate Degree ( filePath ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Ex if Rotate Degree ( path : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġex if Interface Ġ= ĠEx if Interface ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġorientation Ġ= Ġex if Interface . getAttribute Int ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEx if Interface . TAG _ OR IENTATION , ĠEx if Interface . OR IENTATION _ NORMAL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdegrees Ġ= Ġget Ex if Rotate Degrees ( orientation ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" degrees Ġ= Ġ$ degrees ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdegrees ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Ex if Rotate Degrees ( ex if Orientation : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġdegrees Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhen Ġ( ex if Orientation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEx if Interface . OR IENTATION _ NORMAL Ġ-> Ġdegrees Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEx if Interface . OR IENTATION _ ROT ATE _ 9 0 Ġ-> Ġdegrees Ġ= Ġ 9 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEx if Interface . OR IENTATION _ ROT ATE _ 1 8 0 Ġ-> Ġdegrees Ġ= Ġ 1 8 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEx if Interface . OR IENTATION _ ROT ATE _ 2 7 0 Ġ-> Ġdegrees Ġ= Ġ 2 7 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdegrees ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbitmap 2 Str By Base 6 4 ( bit : ĠBitmap ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġb os Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠ Ġbit . compress ( Bitmap . Compress Format . JPEG , Ġ 1 0 , Ġb os )// åıĤæķ° 1 0 0 è¡¨ç¤º ä¸į åİĭç¼© ĊĠĠĠĠĠĠĠ Ġval Ġbytes Ġ= Ġb os . toByteArray () ĊĠĠĠĠĠĠĠ Ġreturn ĠBase 6 4 . encode ToString ( bytes , ĠBase 6 4 . DEFAULT ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbase 6 4 To Bitmap ( base 6 4 Data : ĠString ): ĠBitmap Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbytes Ġ= ĠBase 6 4 . decode ( base 6 4 Data , ĠBase 6 4 . DEFAULT ) ĊĠĠĠĠĠĠĠ Ġreturn ĠBitmap Factory . decode ByteArray ( bytes , Ġ 0 , Ġbytes . size ) ĊĠĠĠ Ġ} Ċ } Ċ