- 浏览: 40415 次
- 性别:
- 来自: 上海
最新评论
先看看效果:
代码如下:
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 579即时搜索效果察看 Live Search 的程式分成两部份 ... -
Remoting中接受query类型数据方法
2010-04-10 10:00 504var listInfo = new Array() fun ... -
Remoting中接受query类型数据方法
2010-04-10 10:00 497var listInfo = new Array() fun ... -
Flash remoting参数传递与调用补充
2010-04-10 10:00 551续flash remoting中参数传递与调用,补充其他数据类 ... -
Flash remoting参数传递与调用补充
2010-04-10 10:00 639续flash remoting中参数传递与调用,补充其他数据类 ... -
Flex2/AS3在Linux下的开发环境
2010-04-09 12:58 494这次修正了万恶的“Incorrect flash playe ... -
flash AS3的面向对象特点概述
2010-04-09 12:58 829本文是我(aw)在整理了相关文档和讨论之后,结合自己的亲自实 ... -
flash AS3的面向对象特点概述
2010-04-09 12:58 724本文是我(aw)在整理了相关文档和讨论之后,结合自己的亲自实 ... -
从AS1和AS2到AS3的观念转变
2010-04-09 12:57 642[1b]AS1/2-AS3观念的转变(Meet with n ... -
从AS1和AS2到AS3的观念转变
2010-04-09 12:57 546[1b]AS1/2-AS3观念的转变(Meet with n ... -
as3打造一个非常酷的莲花曲线效果
2010-04-09 10:04 692详细代码: var radius:int=100; va ... -
AS3.0 单一职责原则设计模式
2010-04-09 10:04 691呵呵,好久没写了。因为前段时间心情不是很好,并且各种事情比较多 ... -
AS3.0 单一职责原则设计模式
2010-04-09 10:04 675呵呵,好久没写了。因为前段时间心情不是很好,并且各种事情比较多 ... -
ActionScript 3 开发的需注意的方面
2010-04-09 10:03 544这些东东都不是很难,只是方法不常用或没注意到,以后还会陆续添加 ... -
ActionScript 3 开发的需注意的方面
2010-04-09 10:03 514这些东东都不是很难,只是方法不常用或没注意到,以后还会陆续添加 ... -
《银河动画》鼠绘教程 (1)
2010-04-08 10:22 665本教程是给对flash有基础了解的人看的(最起码你得知道fla ... -
《银河动画》鼠绘教程 (1)
2010-04-08 10:22 547本教程是给对flash有基础了解的人看的(最起码你得知道fla ... -
《银河动画》鼠绘教程 (2)
2010-04-08 10:21 532先画草图!! [url=http://space.flash8 ... -
《银河动画》鼠绘教程 (2)
2010-04-08 10:21 519先画草图!! [url=http://space.flash8 ... -
《银河动画》鼠绘教程 (3)
2010-04-08 10:21 563一般的简单动画都会吧?别告诉我你连物体移动都不会!! ...
相关推荐
最近要转开发平台,正研究C#。C#好是好,不过处理图片时一个像素一个像素的操作像素不是一般的慢。其实Delphi也一样,但好在Delphi的Bitmap类提供了ScanLines,可以一行一...经过一番搜索,终于发现了C# BitmapData类。
ActionScript 3 BitmapData 的例子 有助于你了解ActionScript 3位图!
想把 draw方法弄明白
delphi 找图找色 BitmapData.pas 使用方法请到原作者yeye55的blog查看, http://yeye55blog.blog.163.com/blog/static/19724102120111043252016/
NULL 博文链接:https://as3.iteye.com/blog/964080
EaselJS的位图数据EaselJS的BitmapData将AS3(例如BitmapData)添加到EaselJS。例1 // create BitmapData by HTMLImageElement_bmd01 = new createjs.BitmapData(HTMLImageElement);_bitmap01 = new createjs.Bitmap...
as2.0 模拟火焰 import flash.display.*...var blueSpot: BitmapData = new BitmapData( clipBounds.xMax, clipBounds.yMax, true, 0 ) blueSpot.draw( blueSpotClip, new Matrix() ) blueSpotClip.removeMovieClip()
一个delphi下用于快速找图找色的单元,很好用!!! 原下载地址已经全部失效,在这里分享给大家,希望使用delphi的朋友能够喜欢。
王者找图对比程序,delphi制作,设定一个图,找另一个图上是否有这个图!
BitmapData类实例 运用噪声制作一些好的效果 源码
位图数据处理,主要用于位图的找图找色:BitmapData.pas 實現按键精靈的功能:kbKernel.pas
Flex RIA AS3网页游戏 BitmapData CopyPixel用法.rar
NULL 博文链接:https://kinglong.iteye.com/blog/1609379
CreateJS 的 BitmapData 的 TypeScript 定义。 这是一个定义文件,用于将 BitmapData 类用于 CreateJS 和 TypeScript。 如何使用 是定义文件体。 请从 TypeScript 程序中读取并使用它。 请注意,单独使用此文件是...
NULL 博文链接:https://1299020954.iteye.com/blog/2148197
NULL 博文链接:https://as3.iteye.com/blog/909389
IWLicenseKey.pas
将Bitmap转成byte[],进行保存,用到时再取出byte[],转化成Bitmap,进行显示
本文主要通过彩色图象灰度化来介绍C#处理数字图像的3种方法,Bitmap类、BitmapData类和Graphics类是C#处理图像的的3个重要的类。 Bitmap只要用于处理由像素数据定义的图像的对象,主要方法和属性如下: ...
private var _defData:BitmapData; private var _expandFilter:ConvolutionFilter; private var _filter:DisplacementMapFilter; private var _drawRect:Rectangle; private var _scaleInv:Number; private ...