Flash AS绘图操作:随意切割位图实验-网站制作-3P代码网
繁体中文
设为首页
加入收藏
当前位置:网站制作首页 >> Flash教程 >> Flash AS绘图操作:随意切割位图实验

Flash AS绘图操作:随意切割位图实验

2007-02-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:原创:ybzjllj 。 效果:用鼠标随意画一个形状,拖动此形状,就从原图上切出绘图区域的图来。 注意:非遮罩,感觉比就遮罩简单。 使用了:AS绘图、位图对象、位图填充。 import flash.display.BitmapData; impor...

原创:ybzjllj 。

效果:用鼠标随意画一个形状,拖动此形状,就从原图上切出绘图区域的图来。

注意:非遮罩,感觉比就遮罩简单。

使用了:AS绘图、位图对象、位图填充。

import flash.display.BitmapData;

import flash.geom.Matrix;

//导入一张图片,放在舞台上,转为MC,实例名为“原图”

//“mc”是用来在里面绘图的

var 原图:MovieClip, mc:MovieClip;

var 画线 = false;//画线标志

var bmpImage:BitmapData=new BitmapData(原图._width,原图._height);//创建位图对象

bmpImage.draw(原图,new Matrix());//用“原图”描绘位图对象

//当鼠标按下时

原图.onPress = function() {

if (mc.hitTest(_xmouse, _ymouse, true)) {

mc.startDrag(); //如果鼠标在mc上,就开始拖动它

} else {

//按下鼠标时,鼠标不在复制的MC上,启动画线

画线 = true;

mc = this.createEmptyMovieClip("mc", 1);//创建空MC,此操作会同时删除原来绘的图,如果不想删除原来的,就改用数组。

mc.lineStyle(1, 0xFF0000); //线条样式

mc.beginBitmapFill(bmpImage,new Matrix(),false); //标识位图填充开始

mc.moveTo(_xmouse-this._x, _ymouse-this._y); //移动画线起点到此

}

};

原图.onMouseUp = function() {

if (画线) {

画线 = false;

mc.endFill(); //填充结束

} else {

mc.stopDrag();

}

};

原图.onMouseMove = function() {

if (画线) {

mc.lineTo(_xmouse-this._x, _ymouse-this._y); //如果画线状态为真,移动鼠标就画线

}

};

责任编辑:admin
相关文章