jasu's blog
블로그 메뉴검색결과 리스트
load에 해당되는 글 2건
- 2012.01.12 Starling 이미지 로드 및 scale & rotation
- 2007.04.30 크로스도메인 정책과 플래시의 bitmapData 문제 5
글
Starling 이미지 로드 및 scale & rotation
Programming/Framework
2012. 1. 12. 10:52
package { import starling.events.Event; import starling.core.Starling; import starling.display.Sprite; import starling.display.Button; import starling.display.Image; import starling.textures.Texture; import starling.events.Touch; import starling.events.TouchEvent; import starling.events.TouchPhase; import starling.animation.Tween; import starling.animation.Transitions; import starling.utils.deg2rad; import starling.display.DisplayObject; import starling.text.TextField; import starling.utils.HAlign; import starling.utils.VAlign; import utils.TouchSheet; import flash.geom.Rectangle; import flash.geom.Point; import flash.display.Bitmap; import flash.net.URLRequest; import flash.display.Loader; import flash.events.Event; public class Demo extends Sprite { private var _loader:Loader; private var _image:Image; private var _posText:TextField; private var _sheet:TouchSheet; public function Demo() { _loader = new Loader(); _loader.load(new URLRequest("https://t1.daumcdn.net/cfile/tistory/11252E424F0ADA1C06")); _loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, onLoadedHandler); } private function onLoadedHandler(e:flash.events.Event):void{ var bitmap:Bitmap = _loader.content as Bitmap; var texture:Texture = Texture.fromBitmap(bitmap); _image = new Image(texture); var description:String = "- touch and drag to move the images \n" + "- pinch with 2 fingers to scale and rotate \n" + "- double tap brings an image to the front \n" + "- use Ctrl/Cmd & Shift to simulate multi-touch"; var infoText:TextField = new TextField(300, 75, description); infoText.x = 10; infoText.y = 35; infoText.fontSize = 12; infoText.color = 0x999999; infoText.vAlign = VAlign.TOP; infoText.hAlign = HAlign.LEFT; addChild(infoText); _sheet = new TouchSheet(_image); _sheet.scaleX = 0.2; _sheet.scaleY = 0.2; setAlignCenter(_sheet); _sheet.addEventListener(TouchEvent.TOUCH, onTouchHandler); addChild(_sheet); _posText = new TextField(400, 480, ""); _posText.x = 10; _posText.y = 105; _posText.fontSize = 12; _posText.color = 0xBBBBBB; _posText.vAlign = VAlign.TOP; _posText.hAlign = HAlign.LEFT; _posText.touchable = false; addChild(_posText); stage.addEventListener(starling.events.Event.RESIZE, onResizeHandler); } private function onTouchHandler(e:TouchEvent):void{ var touches:Vector.<Touch> = e.getTouches(_sheet); _posText.text = "_sheet.x : "+_sheet.x+"\n"+ "_sheet.y : "+_sheet.y+"\n"+ "_sheet.width : "+_sheet.width+"\n"+ "_sheet.height : "+_sheet.height; var len:int = touches.length; for(var i:int=0;i<len;i++){ var touch:Touch = touches[i]; var currentPoint:Point = touch.getLocation(_sheet); var previousPoint:Point = touch.getPreviousLocation(_sheet); _posText.text +="\n\n"+"touches["+i+"]========================\n"+ "previousGlobalX : "+touch.previousGlobalX+"\n"+ "previousGlobalY : "+touch.previousGlobalY+"\n"+ "globalX : "+touch.globalX+"\n"+ "globalY : "+touch.globalY+"\n"+ "getLocation().x : "+currentPoint.x+"\n"+ "getLocation().y : "+currentPoint.y+"\n"+ "getPreviousLocation().x : "+previousPoint.x+"\n"+ "getPreviousLocation().y : "+previousPoint.y; } } private function onResizeHandler(e:starling.events.Event):void{ } private function setAlignCenter(inTarget:DisplayObject):void{ inTarget.x = stage.stageWidth >> 1; inTarget.y = stage.stageHeight >> 1; } public override function dispose():void { super.dispose(); } } }
글
크로스도메인 정책과 플래시의 bitmapData 문제
Programming/ActionScript 2.0
2007. 4. 30. 02:01
요즘 집에서 flickr api를 이용하여 이미지 갤러리를 만들고 있는데 한 가지 문제로 인하여 구현 하고자 하는 기능을 진행하지 못하는 상황이 발생했다.
문제는 로컬에서 load한 이미지(http://경로를 포함한 flickr의 이미지)를 bitmapData로 변환하면 제대로 작동하지만 이것은 개인 계정이나 flickr와 도메인 정책이 다른 웹에 올려놓고 이미지를 load한 후 그 load한 무비클립을 bitmapData로 변환 후 draw하게 되면 작동하지 않는다.
그 동안은 한 계정, 또는 플래시 라이브러리에 있는 이미지를 사용했기 때문에 이러한 문제를 확인하지 못하였으나 flickr를 이용하여 만들다 보니 서로 다른 도메인 계정에서 load한 이미지는 bitmapData로 만들 수 없다는 결론이다.
상식적으로는 도메인이 다르더라도 일단 무비클립에 이미지를 load한 상황이라면 화면에 보이는 무비클립을 비트맵데이터로 전환할 수 있을 것이라는 생각을 했었는데…
문제는 로컬에서 load한 이미지(http://경로를 포함한 flickr의 이미지)를 bitmapData로 변환하면 제대로 작동하지만 이것은 개인 계정이나 flickr와 도메인 정책이 다른 웹에 올려놓고 이미지를 load한 후 그 load한 무비클립을 bitmapData로 변환 후 draw하게 되면 작동하지 않는다.
그 동안은 한 계정, 또는 플래시 라이브러리에 있는 이미지를 사용했기 때문에 이러한 문제를 확인하지 못하였으나 flickr를 이용하여 만들다 보니 서로 다른 도메인 계정에서 load한 이미지는 bitmapData로 만들 수 없다는 결론이다.
상식적으로는 도메인이 다르더라도 일단 무비클립에 이미지를 load한 상황이라면 화면에 보이는 무비클립을 비트맵데이터로 전환할 수 있을 것이라는 생각을 했었는데…