package Ġcom . time path . hl 2 . io . image ĊĊ Ċ import Ġcom . time path . Logger Ċ import Ġjava . awt . Color Ċ import Ġjava . awt . Graphics 2 D Ċ import Ġjava . awt . image . Buffered Image Ċ Ċ class ĠUV Loader Ġprivate Ġconstructor () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠLOG Ġ= ĠLogger () ĊĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġload ( d : ĠByteArray , Ġwidth : ĠInt , Ġheight : ĠInt , Ġchannels : ĠInt ): ĠBufferedImage Ġ= Ġload UV ( d , Ġwidth , Ġheight ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġload UV ( b : ĠByteArray , Ġwidth : ĠInt , Ġheight : ĠInt ): ĠBufferedImage Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbi Ġ= ĠBufferedImage ( width , Ġheight , ĠBufferedImage . TYPE _ INT _ ARGB ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġg Ġ= Ġbi . get Graphics () Ġas ĠGraphics 2 D ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġpos Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin Ġ 0 .. height Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin Ġ 0 .. width Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg . setColor ( Color (( b [ pos ]. toInt () Ġand Ġ 2 5 5 ) Ġ+ Ġ(( b [ pos Ġ+ Ġ 1 ]. toInt () Ġand Ġ 2 5 5 ) Ġshl Ġ 1 6 ) Ġ+ Ġ(( 2 5 5 Ġand Ġ 2 5 5 ) Ġshl Ġ 2 4 ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpos Ġ+= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg . draw Line ( x , Ġy , Ġx , Ġy ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbi ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ