{"id":1638,"date":"2015-08-18T17:39:00","date_gmt":"2015-08-18T09:09:00","guid":{"rendered":"http:\/\/sunphiz.me\/wp\/?p=1638"},"modified":"2015-08-18T19:14:18","modified_gmt":"2015-08-18T10:44:18","slug":"%ec%9d%b4%eb%af%b8%ec%a7%80%eb%a5%bc-%eb%9d%bc%ec%9a%b4%eb%93%9c-%ec%b2%98%eb%a6%ac%ed%95%98%eb%8a%94-%ea%b8%b0%ec%88%a0","status":"publish","type":"post","link":"https:\/\/sunphiz.me\/wp\/archives\/1638","title":{"rendered":"\uc548\ub4dc\ub85c\uc774\ub4dc\uc5d0\uc11c \uc774\ubbf8\uc9c0\ub97c \ub77c\uc6b4\ub4dc \ucc98\ub9ac\ud558\ub294 \ubc29\ubc95"},"content":{"rendered":"<p>\uc548\ub4dc\ub85c\uc774\ub4dc \uac1c\ubc1c \uc2dc \uc774\ubbf8\uc9c0\uc758 \ub77c\uc6b4\ub4dc \ucc98\ub9ac\ub97c \ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\ub2e4. \u00a0\uc5ec\uae30\uc5d0\ub294 \ud06c\uac8c \ub450 \uac00\uc9c0 \ubc29\ubc95\uc774 \uc788\ub294\ub370, \ud558\ub098\ub294 \uc6d0\ubcf8 \uc774\ubbf8\uc9c0 \uc704\uc5d0 \ub9c8\uc2a4\ud0b9 \uc774\ubbf8\uc9c0\ub97c \uc62c\ub824 \ubcf4\uc774\ub294 \ubd80\ubd84\uc744 \ub77c\uc6b4\ub4dc \ucc98\ub9ac\ud558\ub294 \uac83\uc774\uace0, \ub2e4\ub978 \ud558\ub098\ub294 \uc774\ubbf8\uc9c0\uc758 \ubaa8\uc11c\ub9ac\ub97c \ud504\ub85c\uadf8\ub798\ubc0d\uc73c\ub85c \ub77c\uc6b4\ub4dc \ucc98\ub9ac\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n<p>\uba3c\uc800 \ud504\ub85c\uadf8\ub798\ubc0d\uc73c\ub85c \ub77c\uc6b4\ub4dc \ucc98\ub9ac\ud558\ub294 \uc608\uc81c\ub97c \ubcf4\uc790. \uc548\ub4dc\ub85c\uc774\ub4dc\uc5d0\uc11c\ub294 RoundedBitmapDrawable \ud074\ub798\uc2a4\ub97c \ud1b5\ud574 \uc774\ub97c \uc9c0\uc6d0\ud558\uba70, \ub465\uae00\uac8c \uae4e\uc558\uc744 \ub54c \uacc4\ub2e8 \ud604\uc0c1\uc744 \uc904\uc774\uae30 \uc704\ud574 \uc548\ud2f0\uc568\ub9ac\uc5b4\uc2a4\ub3c4 \uc635\uc158\ub3c4 \uc9c0\uc6d0\ud55c\ub2e4.<\/p>\n<pre class=\"lang:default decode:true\">private Bitmap getMaskedBitmap(int _srcResId, float _roundInPixel)\r\n{\r\n    Bitmap srcBitmap = BitmapFactory.decodeResource( getResources(), _srcResId);\r\n\r\n    RoundedBitmapDrawable roundedDrawable =\r\n                       RoundedBitmapDrawableFactory.create(getResources(), srcBitmap);\r\n\r\n    roundedDrawable.setCornerRadius( _roundInPixel );\r\n    roundedDrawable.setAntiAlias(true);\r\n\r\n    return roundedDrawable.getBitmap();\r\n}<\/pre>\n<p>\uc778\ud130\ub137\uc5d0 \uc774\ubbf8\uc9c0\uc5d0 \ub9c8\uc2a4\ud0b9\uc744 \uc801\uc6a9\ud558\ub294 \uc608\uc81c\ub294 \ub9ce\ub2e4. \uc5ec\uae30\uc11c\ub294 \ub098\uc778\ud328\uce58 \uc774\ubbf8\uc9c0\ub97c \ub9c8\uc2a4\ud06c\ub85c \uc0ac\uc6a9\ud574 \ub77c\uc6b4\ub4dc \ucc98\ub9ac\ud558\ub294 \uac83\uc744 \uc0b4\ud3b4\ubcf4\uc790.<\/p>\n<p>\uc548\ub4dc\ub85c\uc774\ub4dc\uc5d0\uc11c\ub294 \ub098\uc778\ud328\uce58\ub97c \uc774\uc6a9\ud574 \ub9c8\uc2a4\ud0b9 \ucc98\ub9ac\ub97c \ud558\ub294 \uacbd\uc6b0\ub3c4 \uc9c0\uc6d0\ud558\uace0 \uc788\ub2e4. NinePatch \ud074\ub798\uc2a4\uc640 NinePatchDrawable \ud074\ub798\uc2a4\ub97c \uc774\uc6a9\ud558\uba74 \ub418\ub294\ub370, \uba3c\uc800 NinePatch \ud074\ub798\uc2a4\ub97c \uc774\uc6a9\ud574 \ube44\ud2b8\ub9f5(Bitmap) \uc774\ubbf8\uc9c0\ub97c \ub77c\uc6b4\ub4dc \ucc98\ub9ac\ud558\ub294 \uacbd\uc6b0\ub97c \uc0b4\ud3b4\ubcf4\uc790.<\/p>\n<pre class=\"lang:default decode:true\">@SuppressLint(\"NewApi\")\r\nprivate Bitmap getMaskedBitmap( Bitmap _srcBitmap, Bitmap _maskBitmap)\r\n{\r\n    Canvas canvas = new Canvas();\r\n\r\n    Paint paint = new Paint();\r\n    paint.setFilterBitmap(false);\r\n\r\n    NinePatch ninePatch =\r\n               new NinePatch(_maskBitmap, _maskBitmap.getNinePatchChunk());\r\n\r\n    Bitmap result = Bitmap.createBitmap(_srcBitmap.getWidth(),\r\n                                        _srcBitmap.getHeight(),\r\n                                        Bitmap.Config.ARGB_8888);\r\n\r\n    canvas.setBitmap(result);\r\n    canvas.drawBitmap(_srcBitmap, 0, 0, paint);\r\n\r\n    paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));\r\n    ninePatch.draw(canvas,\r\n            new Rect(0, 0, _srcBitmap.getWidth(), _srcBitmap.getHeight()),\r\n            paint);\r\n\r\n    paint.setXfermode(null);\r\n\r\n    return result;\r\n}<\/pre>\n<p>\ub2e4\uc74c\uc740 NinePatchDrawable \ud074\ub798\uc2a4\ub97c \uc774\uc6a9\ud574 \ub4dc\ub85c\uc6b0\uc5b4\ube14(Drawable) \uac1d\uccb4\ub97c \ub77c\uc6b4\ub4dc \ucc98\ub9ac\ud558\ub294 \uacbd\uc6b0\ub2e4.<\/p>\n<pre class=\"lang:default decode:true\">@SuppressLint(\"NewApi\")\r\nprivate Bitmap getMaskedBitmap( int _srcResId, int _maskResId )\r\n{\r\n    Canvas canvas = new Canvas();\r\n\r\n    Paint paint = new Paint();\r\n    paint.setFilterBitmap(false);\r\n\r\n    NinePatchDrawable drawable =\r\n          (NinePatchDrawable) getResources().getDrawable(_maskResId, null);\r\n\r\n    Bitmap srcBitmap = BitmapFactory.decodeResource(getResources(), _srcResId);\r\n\r\n    Bitmap result = Bitmap.createBitmap(\r\n            srcBitmap.getWidth(), srcBitmap.getHeight(), Bitmap.Config.ARGB_8888);\r\n\r\n    canvas.setBitmap( result );\r\n    canvas.drawBitmap(srcBitmap, 0, 0, paint);\r\n\r\n    paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));\r\n    drawable.draw( canvas );\r\n\r\n    paint.setXfermode( null );\r\n\r\n    return result;\r\n\r\n}<\/pre>\n<p>\ub9c8\uc2a4\ud0b9 \uc774\ubbf8\uc9c0\ub97c \uc0ac\uc6a9\ud558\ub294 \uc704 \ub450\uac00\uc9c0 \ubc29\ubc95 \ubaa8\ub450 \uce94\ubc84\uc2a4(canvas)\uc5d0 \ube44\ud2b8\ub9f5 \uc774\ubbf8\uc9c0\ub97c \uadf8\ub9ac\ub294 \ubc29\uc2dd\uc73c\ub85c \ub9cc\ub4dc\ub294 \uba74\uc5d0\uc11c \ube44\uc2b7\ud558\ub2e4.<\/p>\n<p><strong>\uadf8 \ubc16\uc5d0<\/strong><\/p>\n<p>\uc774\ubbf8\uc9c0\uc758 \ubaa8\uc11c\ub9ac\ub97c \uc77c\uad04\uc801\uc73c\ub85c \ub77c\uc6b4\ub4dc\ucc98\ub9ac\ud558\ub294 \uacbd\uc6b0\ub77c\uba74, RoundedBitmapDrawable\ub97c \uc0ac\uc6a9\ud558\uc790. \uac1c\uc778\uc801\uc73c\ub85c \uac24\ub7ed\uc2dc S6\uc5d0\uc11c \ud14c\uc2a4\ud2b8\ud55c \uacb0\uacfc RoundedBitmapDrawable\uc774 \ub9c8\uc2a4\ud06c \uc774\ubbf8\uc9c0\ubcf4\ub2e4 \ucd5c\uc18c 5\ubc30 \uc774\uc0c1 \ube68\ub790\ub2e4.<\/p>\n<p>\ub2e8, \ub2e8\uc21c\ud55c \ub77c\uc6b4\ub529 \ucc98\ub9ac\uac00 \uc544\ub2cc \ud2b9\ubcc4\ud55c \ubaa8\uc591\uc73c\ub85c \ucc98\ub9ac\ud574\uc57c\ud55c\ub2e4\uba74 \ub9c8\uc2a4\ud06c \uc774\ubbf8\uc9c0\uac00 \ub354 \ud3b8\ud560 \uac83\uc774\ub2e4. 5\ubc30\uc758 \uc18d\ub3c4\ucc28\uc774\ub77c\uace0 \ud558\uc9c0\ub9cc, \ubaa8\ub450 \uc218 \ubc00\ub9ac\ucd08 \uc815\ub3c4 \ub0b4\uc5d0 \ub05d\ub098\uae30 \ub54c\ubb38\uc5d0 \uc131\ub2a5\uc744 \uc704\ud574 \uae30\ub2a5\uc744 \ud3ec\uae30\ud560 \uc815\ub3c4\ub294 \uc544\ub2c8\ub2e4.<\/p>\n<p><strong>\ucc38\uc870<\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/developer.android.com\/reference\/android\/graphics\/NinePatch.html\">http:\/\/developer.android.com\/reference\/android\/graphics\/NinePatch.html<\/a><\/li>\n<li><a href=\"http:\/\/cmdream.tistory.com\/157\">http:\/\/cmdream.tistory.com\/157<\/a><\/li>\n<li><a href=\"http:\/\/www.androidpub.com\/878457\">http:\/\/www.androidpub.com\/878457<\/a><\/li>\n<li><a href=\"http:\/\/developer.android.com\/guide\/topics\/graphics\/2d-graphics.html\">http:\/\/developer.android.com\/guide\/topics\/graphics\/2d-graphics.html<\/a><\/li>\n<li><a href=\"http:\/\/allthatyou.kr\/?p=409\">http:\/\/allthatyou.kr\/?p=409<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\uc548\ub4dc\ub85c\uc774\ub4dc \uac1c\ubc1c \uc2dc \uc774\ubbf8\uc9c0\uc758 \ub77c\uc6b4\ub4dc \ucc98\ub9ac\ub97c \ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\ub2e4. \u00a0\uc5ec\uae30\uc5d0\ub294 \ud06c\uac8c \ub450 \uac00\uc9c0 \ubc29\ubc95\uc774 \uc788\ub294\ub370, \ud558\ub098\ub294 \uc6d0\ubcf8 \uc774\ubbf8\uc9c0 \uc704\uc5d0 \ub9c8\uc2a4\ud0b9 \uc774\ubbf8\uc9c0\ub97c \uc62c\ub824 \ubcf4\uc774\ub294 \ubd80\ubd84\uc744 \ub77c\uc6b4\ub4dc \ucc98\ub9ac\ud558\ub294 \uac83\uc774\uace0, \ub2e4\ub978 \ud558\ub098\ub294 \uc774\ubbf8\uc9c0\uc758 \ubaa8\uc11c\ub9ac\ub97c \ud504\ub85c\uadf8\ub798\ubc0d\uc73c\ub85c \ub77c\uc6b4\ub4dc \ucc98\ub9ac\ud558\ub294 \uac83\uc774\ub2e4. \uba3c\uc800 \ud504\ub85c\uadf8\ub798\ubc0d\uc73c\ub85c \ub77c\uc6b4\ub4dc \ucc98\ub9ac\ud558\ub294 \uc608\uc81c\ub97c \ubcf4\uc790. \uc548\ub4dc\ub85c\uc774\ub4dc\uc5d0\uc11c\ub294 RoundedBitmapDrawable \ud074\ub798\uc2a4\ub97c \ud1b5\ud574 \uc774\ub97c \uc9c0\uc6d0\ud558\uba70, \ub465\uae00\uac8c \uae4e\uc558\uc744 \ub54c \uacc4\ub2e8 \ud604\uc0c1\uc744 \uc904\uc774\uae30 \uc704\ud574 \uc548\ud2f0\uc568\ub9ac\uc5b4\uc2a4\ub3c4 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[6],"tags":[25,353,352,350,22,351],"class_list":["post-1638","post","type-post","status-publish","format-standard","hentry","category-android","tag-android-2","tag-image","tag-round","tag-350","tag-22","tag-351"],"_links":{"self":[{"href":"https:\/\/sunphiz.me\/wp\/wp-json\/wp\/v2\/posts\/1638","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sunphiz.me\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sunphiz.me\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sunphiz.me\/wp\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sunphiz.me\/wp\/wp-json\/wp\/v2\/comments?post=1638"}],"version-history":[{"count":4,"href":"https:\/\/sunphiz.me\/wp\/wp-json\/wp\/v2\/posts\/1638\/revisions"}],"predecessor-version":[{"id":1642,"href":"https:\/\/sunphiz.me\/wp\/wp-json\/wp\/v2\/posts\/1638\/revisions\/1642"}],"wp:attachment":[{"href":"https:\/\/sunphiz.me\/wp\/wp-json\/wp\/v2\/media?parent=1638"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sunphiz.me\/wp\/wp-json\/wp\/v2\/categories?post=1638"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sunphiz.me\/wp\/wp-json\/wp\/v2\/tags?post=1638"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}