Are you trying to instantiate a bitmap that has a width or hight greater than 2880?
- Dan Freiman On Nov 12, 2007 1:23 PM, Mirko Sabljić <[EMAIL PROTECTED]> wrote: > > I just tried your code and i keep getting the same error: > > > ArgumentError: Error #2015: Invalid BitmapData. > at flash.display::BitmapData$iinit() > > so i am really confused now :-/ > > thank you very much for your time and help > > > Daniel Freiman wrote: > > > > var target:UIComponent = event.curentTarget as UIComponent; > > var dragProxy:UIComponent = new UIComponent(); > > var w:Number = Math.round(target.width / target.scaleX); // will throw > > error > > if greater than 2880 > > var h:Number = Math.round(target.height / target.scaleY) // will throw > > error > > if greater than 2880 > > var bitmapData:BitmapData = new BitmapData(w,h); > > bitmapData.draw(target); // draw target into bitmap > > dragProxy.setActualSize(w,h); > > dragProxy.graphics.beginBitmapFill(bitmapData) > > dragProxy.graphics.drawRect(0, 0 ,w, h); // draw bitmap onto proxy > > component. > > > > Sorry this is taking so much back and forth. > > > > - Dan Freiman > > > > > > On Nov 12, 2007 11:57 AM, Mirko Sabljić <[EMAIL > > PROTECTED]<msabljic%40gmail.com>> > wrote: > > > >> > >> Still doesn't work, would it be too much to ask you to post that code > to > >> draw > >> bitmap data onto UIComponent? I tried to implment that idea with > >> following > >> code: > >> > >> public function dragItMain(event:MouseEvent):void{ > >> > >> > >> // Get the drag initiator component from the event object. > >> var dragInitiator:UIComponent = event.currentTarget as > >> UIComponent; > >> > >> // Create a DragSource object. > >> var dragSource:DragSource = new DragSource(); > >> dragSource.addData(dragInitiator, "main"); > >> > >> var target:UIComponent = event.curentTarget as UIComponent; > >> var bitmapData:BitmapData = new BitmapData( > >> Math.round(target.width / > >> target.scaleX), > >> Math.round(target.height / > >> target.scaleY), > >> false); > >> bitmapData.draw(target); > >> > >> var bitmap:Bitmap = new Bitmap(bitmapData); > >> > >> var bitmapHolder:UIComponent = new UIComponent(); > >> bitmapHolder.addChild(bitmap); > >> > >> // Call the DragManager doDrag() method to start the drag. > >> DragManager.doDrag(dragInitiator, dragSource, event, > >> bitmapHolder); > >> > >> } > >> > >> But all i got is the following error: > >> > >> ArgumentError: Error #2015: Invalid BitmapData. > >> at flash.display::BitmapData$iinit() > >> > >> > >> Daniel Freiman wrote: > >> > > >> > Sorry, try BitmapAsset instead of Bitmap, which extends Bitmap and > >> > implements IFlexDisplayObject. If that doesn't work, I have code to > >> draw > >> > the bitmap data onto a UIComponent. > >> > > >> > - Dan Freiman > >> > > >> > On Nov 12, 2007 7:13 AM, Mirko Sabljić > >> <[EMAIL PROTECTED] <msabljic%40gmail.com><msabljic%40gmail.com>> > > >> wrote: > >> > > >> >> > >> >> I followed your advice Dan and used this code: > >> >> > >> >> > >> >> public function dragItSubs(event:MouseEvent):void{ > >> >> > >> >> // Get the drag initiator component from the event object. > >> >> var dragInitiator:UIComponent = event.currentTarget as UIComponent; > >> >> > >> >> ///////////////////////////////////////////////////////// > >> >> var target:UIComponent = event.currentTarget as UIComponent; > >> >> var dragProxy:Bitmap; > >> >> var myBitmapData:BitmapData = new BitmapData(target.width, > >> >> target.height); > >> >> myBitmapData.draw(target); // draw target onto bitmap > >> >> dragProxy = new Bitmap(myBitmapData); > >> >> ///////////////////////////////////////////////////////// > >> >> > >> >> // Call the DragManager doDrag() method to start the drag. > >> >> DragManager.doDrag(dragInitiator, event, dragProxy); > >> >> > >> >> } > >> >> > >> >> But now i get the following error: > >> >> > >> >> 1067: Implicit coercion of a value of type flash.display:Bitmap to > an > >> >> unrelated type mx.core:IFlexDisplayObject. > >> >> > >> >> on line: > >> >> > >> >> DragManager.doDrag(dragInitiator, event, dragProxy); > >> >> > >> >> Do you maybe know how can i solve this? > >> >> > >> >> thank you > >> >> > >> >> > >> >> Daniel Freiman wrote: > >> >> > > >> >> > Use a bitmap of the target instead of the original target. > >> >> > > >> >> > /////////////////////////////////////////////// > >> >> > var target:UIComponent = event.currentTarget as UIComponent; > >> >> > var dragProxy:Bitmap; > >> >> > var myBitmapData:BitmapData = new BitmapData(target.width, > >> >> target.height > >> >> ); > >> >> > myBitmapData.draw(target); // draw target onto bitmap > >> >> > dragProxy = new Bitmap(myBitmapData); > >> >> > ////////////////////////////////////////////// > >> >> > > >> >> > - Dan Freiman > >> >> > > >> >> > On Nov 11, 2007 12:57 PM, <[EMAIL PROTECTED]<msabljic%40gmail.com> > >> <msabljic%40gmail.com><msabljic%40gmail.com>> > > >> >> wrote: > >> >> > > >> >> >> Hi, > >> >> >> > >> >> >> I am trying to drag an UIComponent instance over an Image object > >> and > >> >> >> drag and drop work fine but i am having problem with dragProxy > >> image. > >> >> >> I would like to use my original drag source UIComponent as > >> dragProxy > >> >> >> image but if i do the following: > >> >> >> > >> >> >> public function dragItSubs(event:MouseEvent):void{ > >> >> >> > >> >> >> // Get the drag initiator component from the event object. > >> >> >> var dragInitiator:UIComponent = event.currentTarget as > UIComponent; > >> >> >> > >> >> >> ///////////////////////////////////////////////////////// > >> >> >> var dragProxy:UIComponent = new UIComponent; > >> >> >> dragProxy = event.currentTarget as UIComponent; > >> >> >> ///////////////////////////////////////////////////////// > >> >> >> > >> >> >> // Call the DragManager doDrag() method to start the drag. > >> >> >> DragManager.doDrag(dragInitiator, event, dragProxy); > >> >> >> > >> >> >> } > >> >> >> > >> >> >> then the original UIComponent (which is a drag source) is used as > >> >> >> dragProxy while dragging it but that same component dissapears > from > >> >> >> its original position as soon as dragging starts. How can i > >> accomplish > >> >> >> that drag source UIComponent's "image" is used as dragProxy but > the > >> >> >> same source drag UIComponent is intact while dragging? > >> >> >> > >> >> >> thanks in advance > >> >> >> > >> >> >> -- > >> >> >> Best regards, > >> >> >> Mirko mailto:msabljic[at]gmail.com > >> >> >> > >> >> >> > >> >> >> > >> >> > > >> >> > > >> >> > >> >> -- > >> >> View this message in context: > >> >> > http://www.nabble.com/Drag-and-drop-question-tf4786816.html#a13704547 > >> >> Sent from the FlexCoders mailing list archive at Nabble.com. > >> >> > >> >> > >> >> > >> > > >> > > >> > >> -- > >> View this message in context: > >> http://www.nabble.com/Drag-and-drop-question-tf4786816.html#a13709369 > >> Sent from the FlexCoders mailing list archive at Nabble.com. > >> > >> > >> > > > > > > -- > View this message in context: > http://www.nabble.com/Drag-and-drop-question-tf4786816.html#a13711153 > Sent from the FlexCoders mailing list archive at Nabble.com. > > >