/* Ċ Ġ* ĠCopyright Ġ 2 0 1 5 ĠN ich olas ĠB ily k Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . ac orn ui . jvm . graphic Ċ Ċ import Ġcom . ac orn ui . core . graphic .* Ċ import Ġjava . awt . image .* Ċ import Ġjava . io .* Ċ import Ġjavax . image io .* Ċ Ċ object ĠJ vm Image Utils Ġ{ Ċ ĉ fun Ġrgb Data ToFile ( rgb Data : Rgb Data , Ġpath : ĠString , Ġextension : ĠString Ġ= Ġ" png ", Ġhas Alpha : ĠBoolean , Ġpre multiplied Alpha : ĠBoolean ) Ġ{ Ċĉ ĉ val Ġpage Image Ġ= ĠBufferedImage ( rgb Data . width , Ġrgb Data . height , Ġif Ġ( has Alpha ) ĠBufferedImage . TYPE _ INT _ ARGB Ġelse ĠBufferedImage . TYPE _ INT _ RGB ) Ċĉ ĉ val Ġsample Model Ġ= ĠComponent Sample Model ( Data Buffer . TYPE _ BYTE , Ġrgb Data . width , Ġrgb Data . height , Ġrgb Data . num B ands , Ġrgb Data . scan Size , Ġif Ġ( has Alpha ) Ġint ArrayOf ( 0 , Ġ 1 , Ġ 2 , Ġ 3 ) Ġelse Ġint ArrayOf ( 0 , Ġ 1 , Ġ 2 )) Ċĉ ĉ val Ġraster Ġ= ĠR aster . create Raster ( sample Model , ĠData Buffer Byte ( rgb Data . bytes , Ġrgb Data . bytes . size ), Ġnull ) Ċĉ ĉ page Image . data Ġ= Ġraster Ċĉ ĉ val Ġoutput Ġ= ĠFile ( path ) Ċĉ ĉ output . mkdir s () Ċĉ ĉ if Ġ( pre multiplied Alpha ) Ġpage Image . color Model . coerce Data ( page Image . raster , Ġpre multiplied Alpha ) Ċĉ ĉ Image IO . write ( page Image , Ġextension , Ġoutput ) Ċ ĉ } Ċ } ĊĊ