{"id":118,"date":"2007-05-22T22:22:45","date_gmt":"2007-05-22T13:22:45","guid":{"rendered":"http:\/\/hangunsworld.com\/blog\/?p=118"},"modified":"2008-05-16T09:38:40","modified_gmt":"2008-05-16T00:38:40","slug":"as3-fade-image-border-effect","status":"publish","type":"post","link":"http:\/\/hangunsworld.com\/blog\/118","title":{"rendered":"[AS3] Fading Border Effect"},"content":{"rendered":"<p><embed src=\"\/blog\/wp-content\/uploads\/2007\/05\/fade.swf\" title=\"Depth Manage Test\" height=\"350\" width=\"450\"><\/embed> <a href=\"http:\/\/hangunsworld.com\/blog\/wp-content\/uploads\/2007\/05\/gray.png\" title=\"Source image\"><img decoding=\"async\" src=\"http:\/\/hangunsworld.com\/blog\/wp-content\/uploads\/2007\/05\/gray.thumbnail.png\" alt=\"Source image\" \/><\/a><\/p>\n<p class=\"english\">BitmapData.copyChannel() method copies a channel from a source image and pastes it into a target image&#8217;s alpha channel. You can control the transparecy of an image by manipulating the image&#8217;s alpha channel with a source image.<br \/>\nThe following code adds fading border effect to an image.<\/p>\n<p class=\"korean\">BitmapData.copyChannel() \uba54\uc18c\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec, \uc6d0\ud558\ub294 \uc774\ubbf8\uc9c0\uc758 \ud2b9\uc815 \ucc44\ub110\uc744 \ub300\uc0c1 \uc774\ubbf8\uc9c0\uc758 \uc54c\ud30c\ucc44\ub110\ub85c \ubcf5\uc0ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc744 \uc0ac\uc6a9\ud558\uba74 \uc18c\uc2a4 \uc774\ubbf8\uc9c0\ub97c \uc54c\ud30c\ucc44\ub110\ub85c \uc0ac\uc6a9\ud558\uc5ec \uc774\ubbf8\uc9c0\uc758 \ud22c\uba85\ub3c4\ub97c \uc81c\uc5b4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br \/>\n\uc544\ub798 \ucf54\ub4dc\ub294 \uc774\ubbf8\uc9c0\uc758 \ud14c\ub450\ub9ac\ub97c \ubd80\ub4dc\ub7fd\uac8c \ube7c\ub294 \ud6a8\uacfc\ub97c \uad6c\ud604\ud55c \uac83\uc785\ub2c8\ub2e4.<br \/>\n<!--more--><\/p>\n<pre lang=\"ActionScript3\" line=\"1\">\/*\r\n * This work is licensed under a Creative Commons Attribution 3.0 License.\r\n * http:\/\/creativecommons.org\/licenses\/by\/3.0\/\r\n *\/\r\n\r\n\/*\r\n * FadeImageBorder\r\n * FadeImageBorder class adds the fading border effect to an image\r\n *\r\n * @author: Han Sanghun (http:\/\/hangunsworld.com\/blog)\r\n * @last modified: 2007-05-22\r\n * @language version: ActionScript 3.0\r\n *\/\r\n\r\npackage{\r\n\r\n\timport\tflash.display.*;\r\n\timport\tflash.events.*;\r\n\timport\tflash.geom.*;\r\n\r\n\tpublic class FadeImageBorder extends MovieClip{\r\n\r\n\t\t\/\/ Fade Source\r\n\t\tprivate var fade_bd:BitmapData;\r\n\t\t\/\/ Fade Copy\r\n\t\tprivate var fadeCopy_bd:BitmapData;\r\n\r\n\t\t\/\/ Original Image\r\n\t\tprivate var origin_bd:BitmapData;\r\n\t\tprivate var origin_bmp:Bitmap;\r\n\t\t\/\/ Result Image\r\n\t\tprivate var result_bd:BitmapData;\r\n\t\tprivate var result_bmp:Bitmap;\r\n\r\n\t\t\/*\r\n\t\t * FadeImageBorder constructor\r\n\t\t *\/\r\n\t\tpublic function FadeImageBorder(){\r\n\r\n\t\t\t\/\/ Original image size\r\n\t\t\tvar wid:uint = 400;\r\n\t\t\tvar hgt:uint = 300;\r\n\r\n\t\t\t\/\/ Original\/Result BitmapData\r\n\t\t\torigin_bd = new ImageSample(wid, hgt);\r\n\t\t\tresult_bd = new BitmapData(wid, hgt, true, 0\u00d700000000);\r\n\t\t\tresult_bd.draw(origin_bd);\r\n\r\n\t\t\t\/\/ Fade Effect BitmapData\r\n\t\t\tfade_bd = new FadeBorderSource(500, 500);\r\n\t\t\tfadeCopy_bd = new BitmapData(wid, hgt, true, 0\u00d700000000);\r\n\r\n\t\t\t\/\/ create fade_bmp for resizing\r\n\t\t\tvar fade_bmp:Bitmap = new Bitmap(fade_bd);\r\n\t\t\t\/\/ create temporary sprite\r\n\t\t\tvar fade_sp:Sprite = new Sprite();\r\n\t\t\tfade_sp.addChild(fade_bmp);\r\n\t\t\t\/\/ resize fade_bmp to fit the source image\r\n\t\t\tfade_bmp.width = wid;\r\n\t\t\tfade_bmp.height = hgt;\r\n\t\t\t\/\/ draw to fadeCopy_bd\r\n\t\t\tfadeCopy_bd.draw(fade_sp);\r\n\r\n\t\t\t\/\/ Copy alpha channel\r\n\t\t\tvar rect:Rectangle = new Rectangle(0, 0, wid, hgt);\r\n\t\t\tvar pnt:Point = new Point(0, 0);\r\n\t\t\tresult_bd.copyChannel(fadeCopy_bd, rect, pnt, BitmapDataChannel.BLUE, BitmapDataChannel.ALPHA);\r\n\r\n\t\t\t\/\/ Add to stage\r\n\t\t\tresult_bmp = new Bitmap(result_bd);\r\n\t\t\taddChild(result_bmp);\r\n\t\t\torigin_bmp = new Bitmap(origin_bd);\r\n\t\t\taddChild(origin_bmp);\r\n\t\t\tresult_bmp.x = result_bmp.y = origin_bmp.x = origin_bmp.y = 25;\r\n\r\n\t\t\t\/\/ Click event\r\n\t\t\tstage.addEventListener(MouseEvent.CLICK, mouseClicked);\r\n\r\n\t\t}\r\n\r\n\t\t\/*\r\n\t\t * mouseClicked\r\n\t\t * Add\/remove the fade border effect.\r\n\t\t *\/\r\n\t\tprivate function mouseClicked(evt:MouseEvent):void{\r\n\t\t\torigin_bmp.visible = !origin_bmp.visible;\r\n\t\t}\r\n\r\n\t}\r\n\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>BitmapData.copyChannel() method copies a channel from a source image and pastes it into a target image&#8217;s alpha channel. You can control the transparecy of an image by manipulating the image&#8217;s alpha channel with a source image. The following code adds fading border effect to an image. BitmapData.copyChannel() \uba54\uc18c\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec, \uc6d0\ud558\ub294 \uc774\ubbf8\uc9c0\uc758 \ud2b9\uc815 \ucc44\ub110\uc744 \ub300\uc0c1 \uc774\ubbf8\uc9c0\uc758 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[30],"class_list":["post-118","post","type-post","status-publish","format-standard","hentry","category-as3","tag-bitmapdata"],"_links":{"self":[{"href":"http:\/\/hangunsworld.com\/blog\/wp-json\/wp\/v2\/posts\/118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/hangunsworld.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/hangunsworld.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/hangunsworld.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/hangunsworld.com\/blog\/wp-json\/wp\/v2\/comments?post=118"}],"version-history":[{"count":0,"href":"http:\/\/hangunsworld.com\/blog\/wp-json\/wp\/v2\/posts\/118\/revisions"}],"wp:attachment":[{"href":"http:\/\/hangunsworld.com\/blog\/wp-json\/wp\/v2\/media?parent=118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/hangunsworld.com\/blog\/wp-json\/wp\/v2\/categories?post=118"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/hangunsworld.com\/blog\/wp-json\/wp\/v2\/tags?post=118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}