flex 拖拽截图,请大家知道的,进来帮看看!
原理:FLEX中在建一个应用程序,一个组件!在组件中放一个图片,放大后,显示在组件的新容器中,但由于图片过大,BITMAP不支持过大图片,所以在跳出的组件中显示出来的图片,象素一直为容器大小,不超过容器,但是在组件中已经取得了,放大后的图的值,在用鼠标进行拖动时,显示出其他部分,以CANVAS边界限定,超过边界,自动裁掉!
[解决办法]
你之前问过这个问题吧?
下面是链接:
http://topic.csdn.net/u/20100320/22/cdaab898-2598-423b-a62a-552c422b2f44.html
我在2楼回答的答案 ,不好用吗?
[解决办法]
在你原来的那个上面改了改,你再看看。
- XML code
<?xml version="1.0" encoding="utf-8"?><mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="1000" showCloseButton="true" close="PopUpManager.removePopUp(this)" height="500"> <mx:Script> <![CDATA[ import mx.managers.PopUpManager; import flash.display.Bitmap; import flash.events.MouseEvent; [Bindable] private var oldX:Number, oldY:Number; [Bindable] public var imageSrc:Object = null; protected function image_2_mouseDownHandler(event:MouseEvent):void { oldX=event.stageX; oldY=event.stageY; } protected function image_2_mouseMoveHandler(event:MouseEvent):void { if (event.buttonDown) { var x:Number=event.stageX - oldX; var y:Number=event.stageY - oldY; oldX=event.stageX; oldY=event.stageY; image_2.move(image_2.x + x, image_2.y + y); } } ]]> </mx:Script> <mx:Canvas id="canvas_2" width="100%" height="100%"> <mx:Image id="image_2" source="{imageSrc}" mouseDown="image_2_mouseDownHandler(event)" mouseMove="image_2_mouseMoveHandler(event)"> </mx:Image> </mx:Canvas></mx:TitleWindow>
[解决办法]
在原有图片本身进行放大是吗?
我们怎么觉得 你发的那个网站是,开始是原图片的缩小版本或者是小图片。
点击放大后,并没有修改图片的大小,而是载入一个大图片,他本身就很大。
因为如果修改图片的大小,就会模糊。而那个例子并没有模糊。
[解决办法]
我qq 149347650 ,不过这几天搬家了,没网线,上不了。呵呵
平时上班时间也上不了,倒了。
如果是大图片,然后拖动的话,上面的那段代码好像就差不多了。还有什么地方不对吗?
[解决办法]
你用我最后给你的代码试了吗?我弄了个大图片,感觉效果是对的呢。
我这边原来的图片是2000*2000的,而容器是700*700的,在拖动显示时,图片也是2000*2000的
你再试试
[解决办法]
I got it.
ちょっと待って。
[解决办法]
这个动态load图片,你觉得是以下哪种方式?
1> load图片时 按照指定区域load(感觉实现不了)
2> 把图片全load过来,再通过bitmap来选择区域显示。
3> 还是把图片分割,动态load分割图片
我感觉在应用上,2和3的用的比较多