{"id":1631,"date":"2012-04-27T07:09:50","date_gmt":"2012-04-27T07:09:50","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=1631"},"modified":"2017-01-27T15:48:44","modified_gmt":"2017-01-27T06:48:44","slug":"android-%ec%9d%b4%eb%af%b8%ec%a7%80-%ed%9a%8c%ec%a0%84-%eb%98%90%eb%8a%94-mirror%ed%95%9c%ea%b8%80%eb%a1%9c-%eb%ad%90%eb%9d%bc%ed%95%a0%ea%b9%8c","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=1631","title":{"rendered":"[Android] \uc774\ubbf8\uc9c0 \ud68c\uc804 \ub610\ub294 Mirror(\ubc18\uc804)"},"content":{"rendered":"<p>\uc791\ub514 \uc791\uc740 \ud654\uba74\uc744 \uac00\uc9c0\ub294 \ubaa8\ubc14\uc77c \ub514\ubc14\uc774\uc2a4.. \uc694\uc998\uc740 \uc791\ub2e4\uace0 \ud558\uba74 \ud55c\ub300 \ub9de\uc740 \uc2dc\ub300\uc774\uae34 \ud558\uc9c0\ub9cc \ub9d0\uc785\ub2c8\ub2e4. \uc5ec\ud2bc \ubaa8\ubc14\uc77c \ub514\ubc14\uc774\uc2a4\uc5d0\uc11c \uc774\ubbf8\uc9c0\ub97c \ucc38 \ub9ce\uc774 \uac00\uc838\ub2e4 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc544\ub798\uc758 \ucf54\ub4dc\ub294 \ud30c\uc77c\uba85\uc73c\ub85c \ud574\uc11c \ucf54\ub4dc\ub2e8\uc5d0\uc11c \uc27d\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 Bitmap\uc744 \ud558\ub098 \ub9cc\ub4dc\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre>BitmapFactory.Options bo = new BitmapFactory.Options();\r\nbo.inSampleSize = 1;\r\nBitmap bmp = BitmapFactory.decodeFile(imageFilename, bo);\r\n\r\n...\r\n\r\nbmp.recycle(); <\/pre>\n<p>\uc640\uc6b0.. &nbsp;\ucc38 \uc27d\uc8e0?&nbsp; \uc0ac\uc2e4 1\ubc88\uacfc 2\ubc88 \ucf54\ub4dc\ub294 \uc635\uc158\uc785\ub2c8\ub2e4. \uc774 \ucf54\ub4dc\uac00 \ud544\uc694\uc5c6\uc744\ub54c\ub294 BitmapFactory\uc758 decodeFile \ud568\uc218\uc758 \ub450\ubc88\uc9f8 \uc778\uc790\ub97c null\ub85c \uc8fc\uba74 \ub429\ub2c8\ub2e4. \uc0dd\uc131\ud55c \ube44\ud2b8\ub9f5\uc744 \uc798\uc37c\ub2e4\uba74 7\ubc88 \ucf54\ub4dc\ub97c \ud638\ucd9c\ud574 \uc90d\ub2c8\ub2e4. <\/p>\n<p>\uc774 \uae00\uc758 \uc694\uc9c0\ub294 \uc774\ub807\uac8c \ube44\ud2b8\ub9f5\uc744 \uc0dd\uc131\ud558\ub294\uac8c \uc544\ub2c8\uace0.. \uc0dd\uc131\ub41c \ube44\ud2b8\ub9f5\uc744 \ud68c\uc804\ud558\uace0 Mirror\uc2dc\ud0a4\ub294 \ubc29\ubc95\uc774\ub2c8\ub2e4. \uba3c\uc800 \ud68c\uc804\uc785\ub2c8\ub2e4. <\/p>\n<pre>Matrix matrix = new Matrix();\r\nmatrix.postRotate(90);\r\nBitmap newBmp = Bitmap.createBitmap(bmp, 0, 0, \r\n    bmp.getWidth(), bmp.getHeight(), matrix, true); <\/pre>\n<p>2\ubc88 \ucf54\ub4dc\uc5d0\uc11c postRotate \ud568\uc218\uc758 \uccab\ubc88\uc9f8 \uc778\uc790\uac00 \ubc14\ub85c \ud68c\uc804\ud558\uace0\uc790 \ud558\ub294 \uac01\ub3c4\uc785\ub2c8\ub2e4. \ub2e4\uc74c\uc740 Mirror \uc2dc\ud0a4\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre>float[] mirrorY = {\r\n    -1, 0, 0,\r\n    0, 1, 0,\r\n    0, 0, 1\r\n};\r\n\r\nMatrix matrix = new Matrix();\r\nmatrix.setValues(mirrorY);\r\nBitmap newBmp = Bitmap.createBitmap(bmp, 0, 0,\r\n     bmp.getWidth(), bmp.getHeight(), matrix, true); <\/pre>\n<p>\ud68c\uc804\ucc98\ub7fc \ud589\ub82c\uc744 \uc774\ub3d9\ud558\uae30\ub294 \ud558\ub294\ub370.. Mirror\uc758 \uacbd\uc6b0 \uc9c1\uc811 \ud589\ub82c\uc694\uc18c\ub97c \uc9c1\uc811 \uc9c0\uc815\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ud589\ub82c(Matrix)\ub294 \uac1c\ubc1c\uc790\uc5d0\uac8c \ub9e4\uc6b0 \uc720\uc6a9\ud55c \uc218\ud559\uc801 \ub3c4\uad6c\uc911\uc5d0 \ud558\ub098\uac00 \ubd84\uba85\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc548\ub4dc\ub85c\uc774\ub4dc\uc5d0\uc11c \ube44\ud2b8\ub9f5\uc5d0 \ub300\ud55c \uc774\uc57c\uae30\uac00 \ub098\uc628 \ucc28\uc5d0 \ud558\ub098 \ub354&#8230;! \ube44\ud2b8\ub9f5\uc744 \ud30c\uc77c\ub85c \uc800\uc7a5\ud558\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4. \uc548\ub4dc\ub85c\uc774\ub4dc\ub294 PNG\uc640 JPG \ud3ec\ub9f7\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uc544\ub798\uc758 \ucf54\ub4dc\ub294 \ube44\ud2b8\ub9f5\uc744 PNG \ud3ec\ub9f7\uc5d0 \ub300\ud55c \ud30c\uc77c\ub85c \uc800\uc7a5\ud558\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre>File file = new File(filename);\r\nFileOutputStream filestream = null;\r\ntry {\r\n    filestream = new FileOutputStream(file);\r\n    newBmp.compress(CompressFormat.PNG, 0, filestream);\r\n} catch (FileNotFoundException e) {\r\n    e.printStackTrace();\r\n}<\/pre>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc791\ub514 \uc791\uc740 \ud654\uba74\uc744 \uac00\uc9c0\ub294 \ubaa8\ubc14\uc77c \ub514\ubc14\uc774\uc2a4.. \uc694\uc998\uc740 \uc791\ub2e4\uace0 \ud558\uba74 \ud55c\ub300 \ub9de\uc740 \uc2dc\ub300\uc774\uae34 \ud558\uc9c0\ub9cc \ub9d0\uc785\ub2c8\ub2e4. \uc5ec\ud2bc \ubaa8\ubc14\uc77c \ub514\ubc14\uc774\uc2a4\uc5d0\uc11c \uc774\ubbf8\uc9c0\ub97c \ucc38 \ub9ce\uc774 \uac00\uc838\ub2e4 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc544\ub798\uc758 \ucf54\ub4dc\ub294 \ud30c\uc77c\uba85\uc73c\ub85c \ud574\uc11c \ucf54\ub4dc\ub2e8\uc5d0\uc11c \uc27d\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 Bitmap\uc744 \ud558\ub098 \ub9cc\ub4dc\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4. BitmapFactory.Options bo = new BitmapFactory.Options(); bo.inSampleSize = 1; Bitmap bmp = BitmapFactory.decodeFile(imageFilename, bo); &#8230; bmp.recycle(); \uc640\uc6b0.. &nbsp;\ucc38 \uc27d\uc8e0?&nbsp; \uc0ac\uc2e4 1\ubc88\uacfc &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=1631\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;[Android] \uc774\ubbf8\uc9c0 \ud68c\uc804 \ub610\ub294 Mirror(\ubc18\uc804)&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[61],"tags":[73],"class_list":["post-1631","post","type-post","status-publish","format-standard","hentry","category-android","tag-android"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1631","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1631"}],"version-history":[{"count":1,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1631\/revisions"}],"predecessor-version":[{"id":3072,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1631\/revisions\/3072"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1631"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1631"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1631"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}