package Ġcom . example . self ie segmentation . util Ċ Ċ import Ġandroid . content . Content Resolver Ċ import Ġandroid . content . res . Resources Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Matrix Ċ import Ġandroid . net . Uri Ċ import Ġandroid . provider . Media Store Ċ import Ġkotlin . math . round ToInt Ċ Ċ /** Ċ Ġ* ĠMerge s Ġtwo Ġbit maps Ġby Ġdrawing Ġthem Ġon Ġa Ġcanvas Ċ Ġ* Ċ Ġ* ĠSource : Ġhttps :// stackoverflow . com / a / 4 0 5 4 6 7 2 9 Ċ Ġ*/ Ċ fun Ġmerge Bit maps ( bmp 1 : ĠBitmap , Ġbmp 2 : ĠBitmap ): ĠBitmap Ġ{ ĊĠĠĠ Ġval Ġmerged Ġ= ĠBitmap . create Bitmap ( bmp 1 . width , Ġbmp 1 . height , Ġbmp 1 . config ) ĊĠĠĠ Ġval Ġcanvas Ġ= ĠCanvas ( merged ) ĊĠĠĠ Ġcanvas . draw Bitmap ( bmp 1 , ĠMatrix (), Ġnull ) ĊĠĠĠ Ġcanvas . draw Bitmap ( bmp 2 , ĠMatrix (), Ġnull ) ĊĠĠĠ Ġreturn Ġmerged Ċ } Ċ Ċ /** Ċ Ġ* ĠRes izes Ġa Ġbitmap Ġto Ġthe Ġgiven Ġheight Ġand Ġwidth Ċ Ġ*/ Ċ fun Ġresize Bitmap ( bmp : ĠBitmap , Ġwidth : ĠInt , Ġheight : ĠInt ): ĠBitmap Ġ{ ĊĠĠĠ Ġreturn ĠBitmap . create Scaled Bitmap ( bmp , Ġwidth , Ġheight , Ġfalse ) Ċ } Ċ Ċ /** Ċ Ġ* ĠRes izes Ġa Ġbitmap Ġto Ġthe Ġgiven Ġwidth Ġand Ġcalculates Ġheight Ġwith Ġrespect Ġto Ġthe Ġaspect Ġratio Ċ Ġ* Ċ Ġ* ĠSource : Ġhttps :// stackoverflow . com / a / 2 8 9 2 1 0 7 5 Ċ Ġ*/ Ċ fun Ġresize Bitmap With Aspect ( bmp : ĠBitmap , Ġwidth : ĠInt ): ĠBitmap Ġ{ ĊĠĠĠ Ġval Ġaspect Ratio : ĠFloat Ġ= Ġbmp . width Ġ/ Ġbmp . height . toFloat () ĊĠĠĠ Ġval Ġheight Ġ= Ġ( width Ġ/ Ġaspect Ratio ). round ToInt () ĊĠĠĠ Ġreturn Ġresize Bitmap ( bmp , Ġwidth , Ġheight ) Ċ } Ċ Ċ /** Ċ Ġ* ĠLoads Ġa Ġbitmap Ġfrom Ġan ĠURI Ċ Ġ*/ Ċ fun Ġget Bitmap From Uri ( content Resolver : ĠContent Resolver , Ġimage Uri : ĠUri , Ġwidth : ĠInt ): ĠBitmap Ġ{ ĊĠĠĠ Ġval Ġbmp Ġ= ĠMedia Store . Images . Media . get Bitmap ( content Resolver , Ġimage Uri ) ĊĠĠĠ Ġreturn Ġresize Bitmap With Aspect ( bmp , Ġwidth ) Ċ } Ċ Ċ /** Ċ Ġ* ĠLoads Ġa Ġbitmap Ġfrom Ġresources Ċ Ġ*/ Ċ fun Ġget Bitmap From Res ( res : ĠResources , Ġid : ĠInt , Ġwidth : ĠInt ): ĠBitmap Ġ{ ĊĠĠĠ Ġval Ġbmp Ġ= ĠBitmap Factory . decode Resource ( res , Ġid ) ĊĠĠĠ Ġreturn Ġresize Bitmap With Aspect ( bmp , Ġwidth ) Ċ } Ċ