`
hereson
  • 浏览: 1457843 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

图片拖放的实现(drag and drop)

 
阅读更多
  1. backgroundColor="#333333" xmlns:tools="tools.*" creationComplete="init();"
  2. >
  3.  
  4. <!--[CDATA[
  5. import mx.core.UIComponent;
  6. import mx.core.DragSource;
  7. import mx.events.DragEvent;
  8. import mx.managers.DragManager;
  9.  
  10. [Embed(source="images/aoao_120.png")]-->     private var imgsrc:Class;
  11.  
  12. private function init():void
  13. {
  14. img1.source = imgsrc;
  15. img2.source = imgsrc;
  16. }
  17.  
  18. /**
  19. * 开始拖拽
  20. * */
  21. private function dragHandler(event:MouseEvent):void
  22. {
  23. // 定义拖拽挂载数据源
  24. var ds:DragSource = new DragSource();
  25. // 定义拖拽图标(用于第二副图片的拖拽)
  26. var di:Image = new Image();
  27. // 拖拽对象
  28. var target:Image = event.currentTarget as Image;
  29.  
  30. // 添加拖拽数据源数据
  31. ds.addData(target, "img");
  32. ds.addData(event.localX, "x");
  33. ds.addData(event.localY, "y");
  34.  
  35. // 拖拽图标
  36. if (target.id == "img2")
  37. di.source = new Bitmap(getBitmapData(target.content));
  38. else
  39. di = null;
  40. // 执行拖拽
  41. DragManager.doDrag(target, ds, event, di);
  42. }
  43. /**
  44. * 进入拖放区域
  45. * */
  46. private function dragEnterHandler(event:DragEvent):void
  47. {
  48. // 进入区域, 设置状态为允许拖放
  49. if (event.dragSource.hasFormat("img"))
  50. DragManager.acceptDragDrop(event.target as UIComponent);
  51. }
  52. /**
  53. * 释放拖拽
  54. * */
  55. private function dragDropHandler(event:DragEvent):void
  56. {
  57. // 复制图片
  58. var img:Image = new Image();
  59. img.source = new Bitmap(getBitmapData(event.dragSource.dataForFormat("img") as DisplayObject));
  60. // 处理图片防止位置
  61. img.x = event.currentTarget.mouseX - (event.dragSource.dataForFormat("x") as Number);
  62. img.y = event.currentTarget.mouseY - (event.dragSource.dataForFormat("y") as Number);
  63. // 显示图片
  64. event.currentTarget.addChild(img);
  65. }
  66. /**
  67. * 获取图片信息
  68. * */
  69. private function getBitmapData(target:DisplayObject):BitmapData
  70. {
  71. var res:BitmapData = new BitmapData(target.width, target.height);
  72. res.draw(target);
  73. return res;
  74. }
  75. ]]&gt;
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83. dragEnter="dragEnterHandler(event);" dragDrop="dragDropHandler(event);" /&gt;
分享到:
评论

相关推荐

    WPF鼠标拖放操作DragAndDrop

    在Windows Presentation Foundation (WPF) 中,鼠标拖放操作(DragAndDrop)是一种常见的用户交互方式,它允许用户通过鼠标将一个元素从一处移动到另一处。这种功能在各种应用程序中都有广泛的应用,例如文件管理器...

    掌握 JavaScript 中的拖放(Drag and Drop)API:实现动态交互

    在现代Web开发中,拖放(Drag and Drop)API提供了一种直观的方式来处理用户与网页元素之间的交互。通过使用HTML5的拖放API,开发者可以实现元素在页面上的拖动和放置,从而增强用户体验。本文将详细介绍如何在...

    Window下拖放操作Drag & Drop 全解析

    Window 下拖放操作 Drag & Drop 全解析 Windows 操作系统中拖放操作(Drag & Drop)是一种常用的用户交互方式,允许用户在不同的程序窗口之间、同一个程序的不同窗口之间或同一程序同一窗口的不同控件之间进行移动...

    Drag and Drop Component Suite 3.7 (拖放)

    总结起来,Drag and Drop Component Suite 3.7为Delphi开发者提供了一套完整的工具集,使得实现拖放功能变得更加简单和高效。无论是在文件管理、数据迁移,还是在创建自定义控件的过程中,这一组件包都能显著提升...

    Android中Drag and Drop拖拽功能的使用

    在Android开发中,拖放(Drag and Drop)功能是一种常见的用户交互方式,允许用户通过手势将一个对象从一处移动到另一处。这个功能在许多场景下都非常实用,比如整理应用抽屉、移动文件或者在布局中调整控件位置等。...

    HTML5拖放(Drag和Drop)的例子

    在工作当中,我们会常常见到像UC浏览器的新选项卡一样的可以自定义拖拽摆放效果。大的像淘宝的装修,QQ空间装扮等,小到一些游戏等等随处可见拖放的使用场景。...HTML5 Drag Drop 拖放例子 dragenter

    draganddrop拖放库vuedndmobile

    拖放(Drag and Drop,简称DnD)是一种常见的用户交互模式,允许用户通过拖动元素到目标位置来实现数据操作。在Web应用中,这种功能可以极大地提升用户体验,尤其是在处理列表排序、文件管理等场景下。Vue DnD ...

    Android简单的拖拽操作(DragAndDrop)

    在Android开发中,拖放(DragAndDrop)功能是一个常用且有趣的交互方式,它允许用户通过手势将一个视图移动到另一个位置,或者在不同的视图之间传递数据。本示例将详细介绍如何实现一个简单的拖放操作,并解决你在...

    C#实现Drag and Drop操作例子

    首先,要实现Drag and Drop操作,你需要包含必要的命名空间,如`System.Windows.Forms`和`System.Drawing`。`System.Windows.Forms`提供了实现Drag and Drop所需的基础类和事件,而`System.Drawing`则用于处理图形,...

    DragandDrop.rar_dragAndDrop

    本资料"DragandDrop.rar_dragAndDrop"聚焦于在Internet Explorer(IE)浏览器中实现文件拖放的扩展功能,为开发者提供了宝贵的指导。 文件拖放技术的核心在于HTML5中的Drag and Drop API,这是一个强大的功能,使得...

    jquery 实现Drag and drop的例子

    本篇文章将深入探讨如何使用jQuery实现拖放(Drag and Drop)功能,特别是针对图片的拖放操作。拖放功能是网页交互中常见的一种增强用户体验的方式,常用于文件上传、页面元素排序等场景。 首先,我们需要引入jQuery...

    DragAndDrop_Demo源码

    【标题】"DragAndDrop_Demo源码"是关于C++编程的一个实例,主要展示了拖放(Drag and Drop)功能的实现。在计算机图形用户界面(GUI)开发中,拖放功能允许用户通过鼠标或其他输入设备将一个对象从一处拖动到另一处...

    HTML5+CSS3实现拖放(Drag and Drop)示例

    其中之一就是拖放(Drag and Drop)功能,使得用户可以通过简单的鼠标操作在网页上移动元素,极大地提升了交互性。本示例将详细介绍如何使用HTML5和CSS3实现拖放功能。 拖放功能在HTML5中被标准化,其核心在于`...

    Qt 文件的拖放 drag - drop.zip

    qt实现拖放文件到界面上,获取内容等 Qt 文件的拖放 drag - drop。该文章的demo的源码 https://blog.csdn.net/linbounconstraint/article/details/107518650

    DragAndDrop_src源码

    "DragAndDrop_src源码" 是一个专门针对C++编程语言设计的项目,它提供了实现拖放(Drag and Drop)功能的源代码。在Windows应用开发中,拖放操作是常见的用户交互方式,允许用户通过鼠标将一项内容从一处拖动到另一...

    windows drag/drop拖放操作示例代码

    在Windows操作系统中,拖放(Drag and Drop)是一种常见的用户交互技术,允许用户通过鼠标将一个对象从一处“拖”到另一处“放”,以执行各种操作,如移动文件、复制数据或在应用程序之间传递信息。Windows API 提供...

    The Drag and Drop Component Suite for Delphi XE10

    总结来说,"The Drag and Drop Component Suite for Delphi XE10"是Delphi开发者实现高效、直观拖放功能的强大工具,它通过精心设计的组件和库,降低了编程难度,提高了开发效率,使得创建具有专业级拖放功能的应用...

    基于HTML5 拖拽接口(Drag and drag-and-drop interfaces based on HTML5

    HTML5是现代网页开发的重要标准,它引入了许多新特性,其中拖放(Drag and Drop)功能就是一项增强用户交互体验的重要接口。拖放接口允许用户通过鼠标或触控设备将元素从一个位置拖动到另一个位置,使得网页的互动性...

    拖拽 Draganddrop.html

    在Web开发中,拖放(Drag and Drop)功能是一项常用的技术,允许用户通过鼠标操作将元素从一处拖动到另一处,实现数据移动或交互。在这个实例中,“Draganddrop.html”很可能是一个演示了如何在HTML页面上实现拖放...

Global site tag (gtag.js) - Google Analytics