- 浏览: 42119 次
- 性别:
- 来自: 上海
最新评论
先看看效果:
代码如下:
package {
import flash.display.*;
import flash.events.*;
import flash.net.URLRequest;
import flash.geom.*;
import flash.filters.*;
/**
* @author CYPL
* 设置图片元件实例名为Image
*/
public class CutImageTest extends Sprite {
private var _imageBitmapData : BitmapData;
private var _imageHotAreaData:BitmapData;
private var _imageBitmap : Bitmap;
private var _mouseRectContainer:Sprite;
private var _mouseRectStartX:Number;
private var _mouseRectStartY:Number;
private var _imageClipDraging:Boolean;
private var _currentDragClip:Sprite;
public function CutImageTest() {
_mouseRectContainer=new Sprite;
Image.visible=false;
_imageBitmapData=new BitmapData(Image.width,Image.height,true,0),_imageBitmapData.draw(Image);
_imageBitmap=Bitmap(addChild(new Bitmap(_imageBitmapData)))
_imageBitmap.x=30
_imageBitmap.y=30
configMouseEvent();
//----------hitTestArea------------------------
var c:ColorTransform=new ColorTransform;
c.color=0xff0000;
_imageHotAreaData=_imageBitmapData.clone();
_imageHotAreaData.draw(_imageHotAreaData,null,c);
}
private function configMouseEvent():void {
stage.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler,false,0,true);
stage.addEventListener(MouseEvent.MOUSE_UP,mouseUpHandler,false,0,true);
}
/**************************drawRect handler*******************************/
private function mouseDownHandler(evt:MouseEvent):void {//mouse_down
if (_imageClipDraging) {
return;
}
addChild(_mouseRectContainer);
_mouseRectStartX=evt.stageX;
_mouseRectStartY=evt.stageY;
stage.addEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler);
}
private function mouseUpHandler(evt:MouseEvent):void {//mouse_up
//_currentDragClip&&();
_imageClipDraging&&(_currentDragClip.stopDrag(),_imageClipDraging=false,_currentDragClip.alpha=1)||(cutImage(checkIntersection()),_mouseRectContainer.graphics.clear(),stage.removeEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler))
}
private function mouseMoveHandler(evt:MouseEvent):void {//mouse_move
evt.updateAfterEvent();
var minX:Number=Math.min(evt.stageX,_mouseRectStartX)
var minY:Number=Math.min(evt.stageY,_mouseRectStartY)
var maxX:Number=Math.max(evt.stageX,_mouseRectStartX)
var maxY:Number=Math.max(evt.stageY,_mouseRectStartY)
with(_mouseRectContainer.graphics){
clear();
lineStyle(0);
beginFill(0xffff00,.5);
drawRect(0,0,maxX-minX,maxY-minY);}
_mouseRectContainer.x=minX;
_mouseRectContainer.y=minY;
}
/************************************************************************/
/**************************drag handler*******************************/
private function clipMouseDownHandler(evt:MouseEvent):void {//mouse_down
var target:Sprite=evt.target as Sprite;
_currentDragClip=target;
_currentDragClip.alpha=.5;
_imageClipDraging=true;
addChild(target);
_currentDragClip.startDrag(false);
}
/************************************************************************/
private function checkIntersection():Rectangle {
本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/3009.html
发表评论
-
使用 Flash Remoting in Flash Forms 制作 Live Search
2010-04-10 10:01 610即时搜索效果察看 Live Search 的程式分成两部份 ... -
Remoting中接受query类型数据方法
2010-04-10 10:00 532var listInfo = new Array() fun ... -
Remoting中接受query类型数据方法
2010-04-10 10:00 525var listInfo = new Array() fun ... -
Flash remoting参数传递与调用补充
2010-04-10 10:00 577续flash remoting中参数传递与调用,补充其他数据类 ... -
Flash remoting参数传递与调用补充
2010-04-10 10:00 665续flash remoting中参数传递与调用,补充其他数据类 ... -
Flex2/AS3在Linux下的开发环境
2010-04-09 12:58 510这次修正了万恶的“Incorrect flash playe ... -
flash AS3的面向对象特点概述
2010-04-09 12:58 866本文是我(aw)在整理了相关文档和讨论之后,结合自己的亲自实 ... -
flash AS3的面向对象特点概述
2010-04-09 12:58 754本文是我(aw)在整理了相关文档和讨论之后,结合自己的亲自实 ... -
从AS1和AS2到AS3的观念转变
2010-04-09 12:57 672[1b]AS1/2-AS3观念的转变(Meet with n ... -
从AS1和AS2到AS3的观念转变
2010-04-09 12:57 565[1b]AS1/2-AS3观念的转变(Meet with n ... -
as3打造一个非常酷的莲花曲线效果
2010-04-09 10:04 713详细代码: var radius:int=100; va ... -
AS3.0 单一职责原则设计模式
2010-04-09 10:04 715呵呵,好久没写了。因为前段时间心情不是很好,并且各种事情比较多 ... -
AS3.0 单一职责原则设计模式
2010-04-09 10:04 711呵呵,好久没写了。因为前段时间心情不是很好,并且各种事情比较多 ... -
ActionScript 3 开发的需注意的方面
2010-04-09 10:03 567这些东东都不是很难,只是方法不常用或没注意到,以后还会陆续添加 ... -
ActionScript 3 开发的需注意的方面
2010-04-09 10:03 533这些东东都不是很难,只是方法不常用或没注意到,以后还会陆续添加 ... -
《银河动画》鼠绘教程 (1)
2010-04-08 10:22 691本教程是给对flash有基础了解的人看的(最起码你得知道fla ... -
《银河动画》鼠绘教程 (1)
2010-04-08 10:22 573本教程是给对flash有基础了解的人看的(最起码你得知道fla ... -
《银河动画》鼠绘教程 (2)
2010-04-08 10:21 563先画草图!! [url=http://space.flash8 ... -
《银河动画》鼠绘教程 (2)
2010-04-08 10:21 536先画草图!! [url=http://space.flash8 ... -
《银河动画》鼠绘教程 (3)
2010-04-08 10:21 592一般的简单动画都会吧?别告诉我你连物体移动都不会!! ...
相关推荐
BitmapData.draw方法是ActionScript 3.0中的一个重要功能,主要用在Adobe Flash环境中处理位图数据。这个方法允许开发者将一个显示对象(如Sprite、MovieClip或Bitmap)的可视内容复制到BitmapData对象上,从而实现...
bitmapData.applyFilter(bitmapData, new Rectangle(0, 0, bitmapData.width, bitmapData.height), new Point(), filter); ``` 6. 图像合并与混合模式 利用`merge()`方法,可以将两个BitmapData对象合并,同时可以...
BitmapData是ActionScript 3(AS3)中的一个核心类,它是处理像素数据的主要工具,广泛应用于游戏开发、图像处理和动画制作等场景。在AS3中,BitmapData类允许我们创建、读取、修改和操作位图数据,这些位图数据可以...
在C#中,`BitmapData`类是用于高效地访问和操作位图图像像素的核心类。这个类在处理大量像素操作时尤其有用,因为它允许直接访问图像数据的内存缓冲区,而无需通过昂贵的属性访问。`BitmapData`提供了一种优化的方法...
BitmapData.zip 文件是一个包含 Delphi 开发中使用的 BitmapData 单元的压缩包。这个单元主要是为了实现图像处理和颜色查找功能,对于 Delphi 开发者来说,它提供了一个高效且方便的工具来搜索和操作图像数据。让...
2. **模板匹配**:使用一个已知的小图像(模板)在大图中搜索匹配的位置,常用于识别特定图案。 3. **霍夫变换**:对于线条或边缘检测,可以使用霍夫变换找到图像中的直线或曲线。 接下来,kbKernel.pas 文件则可能...
delphi 找图找色 BitmapData.pas 使用方法请到原作者yeye55的blog查看, http://yeye55blog.blog.163.com/blog/static/19724102120111043252016/
EaselJS的位图数据EaselJS的BitmapData将AS3(例如BitmapData)添加到EaselJS。例1 // create BitmapData by HTMLImageElement_bmd01 = new createjs.BitmapData(HTMLImageElement);_bitmap01 = new createjs.Bitmap...
BitmapData是ActionScript 3(AS3)中的一个核心类,它是Adobe Flash Professional和Flex开发中的重要组成部分。这篇心得分享了关于使用BitmapData的一些高级技巧,以及如何利用它来提升图形绘制的效率和效果。...
as2.0 模拟火焰 import flash.display.*...var blueSpot: BitmapData = new BitmapData( clipBounds.xMax, clipBounds.yMax, true, 0 ) blueSpot.draw( blueSpotClip, new Matrix() ) blueSpotClip.removeMovieClip()
这个压缩包"Flex RIA AS3网页游戏 BitmapData CopyPixel用法.rar"显然包含了关于如何在AS3中使用BitmapData的CopyPixel方法来创建或修改位图的示例和教程。 BitmapData对象是AS3中表示位图图像的数据结构,它可以...
BitmapData是SWT库中一个关键的类,它用于处理位图数据,允许开发者直接操作图像的像素。在这个主题中,我们将深入探讨BitmapData以及如何与自定义的Image工具类配合使用。 BitmapData类提供了对图像数据的低级别...
王者找图对比程序,delphi制作,设定一个图,找另一个图上是否有这个图!
BitmapData类实例 运用噪声制作一些好的效果 源码
【Flash实验指导】这篇实验指导主要涵盖了Flash中关于图片、SWF文件的加载,以及相关的类和属性的使用。实验旨在帮助学习者掌握以下几个关键知识点: 1. **图片和SWF文件的加载**: - 加载过程通常分为4步: a. ...
综上所述,"flex 两个图片播放小程序"利用了Flex的BitmapData、Image组件、事件处理和动画机制,创建了一个能够实现图片浏览、放大和缩小功能的应用。这样的小程序在用户体验、图像处理和性能优化方面都有一定的技术...
NULL 博文链接:https://kinglong.iteye.com/blog/1609379
CreateJS 的 BitmapData 的 TypeScript 定义。 这是一个定义文件,用于将 BitmapData 类用于 CreateJS 和 TypeScript。 如何使用 是定义文件体。 请从 TypeScript 程序中读取并使用它。 请注意,单独使用此文件是...
var bitmapData:BitmapData = new BitmapData(displayObject.width, displayObject.height, false, 0); bitmapData.draw(displayObject); ``` 2. **位图数据比较**:有了BitmapData对象后,我们可以使用`hitTest()`...
在实现Mosaic特效时,我们通常会先创建一个原始BitmapData对象,然后创建一个较小的BitmapData对象,用于存储经过马赛克处理后的像素块。接下来,我们会遍历原始BitmapData中的每一个像素,将其映射到小块BitmapData...