图片没旋转之前拖动很正常。左旋转之后拖动会不正常。那是因为旋转时设置了transform.matrix的原因,那样拖动后摆放时会不正常。
将transform.matrix设置为全局变量,在拖动前将transform.matrix设置为null ,拖动之后再重新获取transform.matrix则可。记得是在设置XY坐标前设置transform.matrix。
主要代码如下:
private var _xOff:Number;
private var _yOff:Number;
public function phandleDrop(event:DragEvent):void
{
var dragaImage:Image = new Image();
dragaImage.source = event.dragSource.dataForFormat( "source" ) as String;
dragaImage.width = event.dragSource.dataForFormat( "width" ) as int;
dragaImage.height = event.dragSource.dataForFormat( "height" ) as int;
var tempX:int = event.currentTarget.mouseX - _xOff ;
var tempY:int = event.currentTarget.mouseY - _yOff ;
dragaImage.transform.matrix = tmpMatrix ;
dragaImage.x = tempX ;
dragaImage.y = tempY ;
myGroup.removeAllElements();
myGroup.addElement( bgRect );
myGroup.addElement( dragaImage );
myGroup.addElement( _mask );
}
private function initJpgDragInCanvas(event:MouseEvent):void
{
var dragInitiator:Image = myGroup.getChildAt( 1 ) as Image;
if ( dragInitiator == null )
{
return ;
}
var ds:DragSource = new DragSource();
ds.addData( dragInitiator, "img" );
ds.addData( dragInitiator.source, "source" );
ds.addData( dragInitiator.width, "width" );
ds.addData( dragInitiator.height, "height" );
var imageProxy:Image = new Image();
imageProxy.source = dragInitiator;
imageProxy.height = 100;
imageProxy.width = 100;
imageProxy.transform.matrix = null;
_xOff = event.currentTarget.mouseX - dragInitiator.x ;
_yOff = event.currentTarget.mouseY - dragInitiator.y ;
DragManager.doDrag( dragInitiator, ds, event, imageProxy, 0, 0 );
}
private var tmpMatrix:Matrix;
private function rotateImage():void{
var img:Image = myGroup.getChildAt( 1 ) as Image;
var matrix:Matrix = new Matrix() ;
tmpMatrix = img.transform.matrix;
var oHeight:Number = img.height / 2;
var oWidth:Number = img.width / 2;
tmpMatrix.translate(-oWidth, -oHeight);
var rotateNum:Number = parseInt( rotateNum.text );
var rot:int = Math.PI / 180 * rotateNum ;
tmpMatrix.rotate( Math.PI / 180 * rotateNum );
tmpMatrix.translate(oWidth, oHeight);
img.transform.matrix = tmpMatrix;
}
分享到:
相关推荐
9. **对象Handlers**:从压缩包的文件名来看,"objectHandlers"可能是处理图片操作的核心类或文件夹,包含了处理图片旋转、缩放和拖动的具体逻辑。 综上所述,这个Flex项目通过自定义控件实现了图片的旋转、缩放和...
flex实现对图片的旋转与拖动,简单的小例子,希望对大家有所帮助
flex单击图片拖动,双击图片旋转,双击单击同时用,虽然不难,但对初学者很有帮助的,找到一个很好的例子来学习flex会事半功倍
标题中的“用Flex写的照片旋转”指的是使用Adobe Flex框架开发的一款功能,允许用户对照片进行旋转操作。Flex是一个开源的、基于ActionScript的框架,主要用于构建富互联网应用程序(RIA),它提供了一整套组件和...
在图片加载完成后,可以创建一个BitmapData对象,然后通过这个对象实现图片的动态处理。例如,为了实现图片的放大和缩小,可以使用BitmapData的draw方法,传入原始图像和一个缩放矩阵作为参数。 对于图片的显示,...
在开发Flex图片编辑器时,主要涉及以下知识点: 1. **Flex SDK**:Flex SDK是开发Flex应用程序的基础,包括ActionScript编译器和MXML编译器,以及用于构建、测试和部署应用的工具。开发者需要下载并安装SDK来开始...
一、Flex图片预览组件基础 在Flex中,我们可以利用MX或Spark组件库中的Image组件来展示单张图片。然而,为了实现多图预览和滚动效果,我们需要自定义组件或者使用现有的第三方库,如在本例中的"photocoverflowLayout...
标题提及的"“FLEX 图片浏览功能可以轻松实现图片浏览”",这指的是使用Flex3开发的图片查看器应用,它允许用户方便地查看和浏览图片,同时可能还支持一些高级特性,如缩放、旋转、平移等。Flex3提供了强大的图形...
"flex360°全视角立体旋转图片demo"就是一个利用Adobe Flex技术来创建的交互式3D展示应用,它带给用户一种全新的、全方位的图片浏览体验。这个应用通过Flash平台实现了图片的立体360度旋转,使用户可以像观察实物...
在Flex这个强大的富互联网应用程序(RIA)开发框架中,处理图像功能是常见的需求,包括打开图片、剪切、放大缩小以及旋转。Flex以其强大的ActionScript3.0编程语言为基础,结合MXML标记语言,提供了丰富的组件和API...
在Flex开发中,图片裁剪是一项常见的需求,特别是在创建用户界面或者图像编辑应用时。本文将详细介绍如何在Flex 3.5及以上版本中利用遮罩技术实现图片裁剪功能。 遮罩(Masking)是ActionScript 3和Flex中一个强大...
标题中的"FLEX图片浏览"指的是基于Adobe Flex技术开发的一个用于展示和浏览图片的应用程序。Flex是一种开源的、基于ActionScript的框架,它允许开发者构建富互联网应用程序(RIA),即可以在网页上运行的交互性强、...
7. **用户体验优化**:为了提高加载速度和流畅性,Flex杂志效果可能需要优化图片压缩、资源加载策略以及动画性能。 8. **触摸支持**:对于移动设备,Flex支持触摸事件,使得用户可以通过手势来翻页,增强了移动端的...
图像裁剪和剪切功能在Web应用中非常常见,例如在社交媒体平台或在线图片编辑工具中,用户可能需要调整图片大小、裁剪不必要的部分或创造出独特的视觉效果。 在Flex中实现图像裁剪和剪切,主要涉及到以下几个关键...
1. 创建图片组件时,有加载提示,并在创建后自动聚焦和进入编辑状态。 2. 鼠标交互操作:单击激活并显示属性设置菜单,按住拖动可移动组件,组件边框显示可编辑的8个操控点。 3. 角点和边的中间点支持不同类型的缩放...
这个图像通常是一个宽高比极高的图片,可以覆盖360度水平和一定程度的垂直视野。 2. **BitmapData和Graphics**:在Flex中,BitmapData对象用于存储像素数据,而Graphics类则用于在舞台上绘制。要显示360度全景,...
Flex Book Flip Over是一款基于Adobe Flex 4.5.1 SDK开发的示例程序,它实现了书籍翻页的效果。这个程序的目的是为了展示如何在Flex应用中创建类似真实书籍的翻页体验,使得用户可以通过模拟翻页动作来浏览电子书...
Flex Papervision 3D 是一个强大的开源框架,用于在Adobe Flex环境中构建三维(3D)图形和应用程序。这个框架允许开发者使用ActionScript 3.0来创建具有复杂3D场景、交互性和动画效果的Web应用程序。在Flex 3.0版本...
或者在用户缩放和拖动图片时,更新图像的位置和大小。这些事件处理函数可以大大增强应用的互动性。 在实际应用中,性能优化也是一个关键点。FlexImage库往往提供了多种优化策略,如延迟加载、预加载和图片缓存,以...
标题中的“Flex做翻书效果”指的是使用Adobe Flex这一开源框架来实现类似真实书籍翻页的动态视觉效果。Flex是基于ActionScript 3.0的MXML编程语言,用于构建富互联网应用程序(RIA)。在本示例中,开发者可能利用...