/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 2 1 ĠBy ĠG eek s ĠEmp ire . Ċ Ġ* Ċ Ġ* ĠCreated Ġby ĠE li as ĠF azel Ċ Ġ* ĠLast Ġmodified Ġ 4 / 1 2 / 2 1 Ġ 8 : 5 0 ĠAM Ċ Ġ* Ċ Ġ* ĠLicensed ĠUnder ĠMIT ĠLicense . Ċ Ġ* Ġhttps :// opensource . org / licenses / MIT Ċ Ġ*/ Ċ Ċ package Ġnet . ge ek semp ire . ready . keep . notes . Utils . Data Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Bitmap Drawable Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . util . Typed Value Ċ import Ġjava . io . ByteArray OutputStream Ċ Ċ fun ĠDrawable . convert Drawable To ByteArray () Ġ: ĠByteArray Ġ{ ĊĊĠĠĠ Ġval Ġbitmap : ĠBitmap Ġ= Ġ( this @ convert Drawable To ByteArray Ġas ĠBitmap Drawable ). bitmap ĊĊĠĠĠ Ġval ĠbyteArray OutputStream Ġ= ĠByteArrayOutputStream () ĊĊĠĠĠ Ġbitmap . compress ( Bitmap . Compress Format . PNG , Ġ 1 0 0 , ĠbyteArray OutputStream ) ĊĊĠĠĠ Ġreturn ĠbyteArray OutputStream . toByteArray () Ċ } Ċ Ċ fun ĠInt . percentage ( percentage Amount : ĠDouble ) Ġ: ĠDouble Ġ{ ĊĊĠĠĠ Ġreturn Ġ( this @ percentage Ġ* Ġ( percentage Amount )) Ġ/ Ġ 1 0 0 Ċ } Ċ Ċ fun ĠFloat . percentage ( percentage Amount : ĠDouble ) Ġ: ĠFloat Ġ{ ĊĊĠĠĠ Ġreturn Ġ(( this @ percentage Ġ* Ġ( percentage Amount )) Ġ/ Ġ 1 0 0 ). toFloat () Ċ } Ċ Ċ fun ĠFloat . convertTo Device In dependent Pixels ( context : ĠContext ) Ġ: ĠInt Ġ{ ĊĊĠĠĠ Ġreturn ĠTyped Value . apply Dimension ( ĊĠĠĠĠĠĠĠ ĠTyped Value . COMPLEX _ UNIT _ DIP , ĊĠĠĠĠĠĠĠ Ġthis @ convertTo Device In dependent Pixels , ĊĠĠĠĠĠĠĠ Ġcontext . resources . display Metrics ĊĠĠĠ Ġ). toInt () Ċ } Ċ Ċ fun ĠDrawable . resize Drawable ( context : ĠContext , Ġdst Width : ĠInt , Ġdst Height : ĠInt ): ĠDrawable ? Ġ{ ĊĊĠĠĠ Ġvar Ġresized Drawable : ĠDrawable ? Ġ= Ġnull ĊĊĠĠĠ Ġresized Drawable Ġ= Ġtry Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= Ġ( this @ resize Drawable Ġas ĠBitmap Drawable ). bitmap ĊĠĠĠĠĠĠĠ Ġval Ġbitmap Res ized Ġ= ĠBitmap . create Scaled Bitmap ( bitmap , Ġdst Width , Ġdst Height , Ġfalse ) ĊĊĠĠĠĠĠĠĠ ĠBitmap Drawable ( context . resources , Ġbitmap Res ized ). mutate () ĊĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĊĠĠĠĠĠĠĠ ĠColor Drawable ( Color . TRANSP ARENT ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġresized Drawable Ċ }