package Ġcom . github . sf yc 2 3 . h encoder practice . view . canvas help . view Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics .* Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . View Ċ import Ġcom . github . sf yc 2 3 . h encoder practice . R Ċ Ċ import Ġorg . jetbrains . ank o . sp Ċ Ċ class ĠPract ice _ 1 _ 4 _ 0 1 _ Clip Rect View Ġ: ĠView Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject ĠFactory Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠTAG Ġ= ĠPract ice _ 1 _ 4 _ 0 1 _ Clip Rect View :: class . java . simple Name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġpaint Ġ= ĠPaint ( Paint . ANTI _ ALIAS _ FLAG ) ĊĠĠĠ Ġvar Ġbitmap : ĠBitmap ĊĊĠĠĠ Ġvar Ġtext Paint Ġ= ĠPaint () ĊĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ: Ġsuper ( context , Ġattrs ) Ġ{} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr ) Ġ{} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġbitmap Ġ= ĠBitmap Factory . decode Resource ( resources , ĠR . drawable . maps ) ĊĠĠĠĠĠĠĠ Ġtext Paint . color Ġ= ĠColor . RED ĊĠĠĠĠĠĠĠ Ġtext Paint . text Size Ġ= Ġsp ( 1 6 f ). toFloat () ĊĠĠĠĠĠĠĠ Ġtext Paint . textAlign Ġ= ĠPaint . Align . CENTER ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Draw ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Draw ( canvas ) ĊĊĊĠĠĠĠĠĠĠ Ġ// çĶ» ä¸Ģä¸ª ä¸Ńå¿ĥ åĿĲæłĩ çº¿ ĊĠĠĠĠĠĠĠ Ġcanvas . draw Line ( width Ġ/ Ġ 2 f , Ġ 0 f , Ġwidth Ġ/ Ġ 2 f , Ġheight . toFloat (), Ġtext Paint ) ĊĠĠĠĠĠĠĠ Ġcanvas . draw Line ( 0 f , Ġheight Ġ* Ġ 0 . 3 8 2 f , Ġwidth . toFloat (), Ġheight Ġ* Ġ 0 . 3 8 2 f , Ġtext Paint ) ĊĊĠĠĠĠĠĠĠ Ġ// åİŁ åĽ¾ ĊĠĠĠĠĠĠĠ Ġcanvas . save () // ä¿ĿåŃĺ Ġcanvas ĠçļĦ çĬ¶æĢģ ĊĠĠĠĠĠĠĠ Ġcanvas . translate ( width Ġ/ Ġ 4 f , Ġheight Ġ* Ġ 0 . 3 8 2 f )// å°Ĩ åĿĲæłĩ ç§»åĬ¨ åĪ° ä¸Ńå¿ĥ ä½įç½® ĊĠĠĠĠĠĠĠ Ġcanvas . draw Bitmap ( bitmap , Ġ- bitmap . width Ġ/ Ġ 2 f , Ġ- bitmap . height Ġ/ Ġ 2 f , Ġpaint )// å°Ĩ åĽ¾ æłĩ åĪļ å¥½ ç»ĺ åĪ¶ åĪ° ä¸Ńå¿ĥ ä½įç½® ĊĠĠĠĠĠĠĠ Ġcanvas . draw Text (" åİŁ åĨħå®¹ ", Ġ 0 f , Ġbitmap . height Ġ/ Ġ 2 f Ġ+ Ġ 1 0 0 f , Ġtext Paint )// ä¸ĢäºĽ æııè¿° æĸĩåŃĹ ĊĠĠĠĠĠĠĠ Ġcanvas . restore () // æģ ¢å¤į Ġcanvas ĠçļĦ çĬ¶æĢģ ĊĊĊĠĠĠĠĠĠĠ Ġ// è£ ģ åī ª åĲİ ĊĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠ Ġcanvas . translate ( width Ġ* Ġ 3 Ġ/ Ġ 4 f , Ġheight Ġ* Ġ 0 . 3 8 2 f ) ĊĊĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠ Ġcanvas . clip Rect (- bitmap . width Ġ/ Ġ 2 f , Ġ- 1 0 0 f , Ġ 3 0 0 f , Ġbitmap . width Ġ/ Ġ 2 f ); ĊĠĠĠĠĠĠĠ Ġcanvas . draw Bitmap ( bitmap , Ġ- bitmap . width Ġ/ Ġ 2 f , Ġ- bitmap . height Ġ/ Ġ 2 f , Ġpaint ) ĊĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĊĠĠĠĠĠĠĠ Ġcanvas . draw Text (" è£ ģ åī ª åĲİ ", Ġ 0 f , Ġbitmap . height Ġ/ Ġ 2 f Ġ+ Ġ 1 0 0 f , Ġtext Paint ) ĊĊĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĊĊĠĠĠ Ġ} Ċ } Ċ