原创: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); //如果画线状态为真,移动鼠标就画线
}
};
Flash AS绘图操作:随意切割位图实验
时间: 2024-10-30 00:10:28
Flash AS绘图操作:随意切割位图实验的相关文章
Android 通过onDraw实现在View中绘图操作的示例
以下是对Android通过onDraw实现在View中绘图操作的示例代码进行了详细的分析介绍,需要的朋友可以过来参考下 Android绘图操作,通过继承View实现,在onDraw函数中实现绘图.下面是一个简单的例子: 复制代码 代码如下: public class AndroidTest extends Activity { /** Called when the activity is first created. */ @Override public void
Android 通过onDraw实现在View中绘图操作的示例_Android
Android绘图操作,通过继承View实现,在onDraw函数中实现绘图.下面是一个简单的例子: 复制代码 代码如下: public class AndroidTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(save
Android绘图操作onDraw
做java的都知道,绘图肯定首先需要一个Canvas,然后在用Graphics在上面绘制自己想要图案.不错,Android上面也类似,你可以从一个Bitmap得到它的Canvas,进行绘制,也可以自定义一个View,用它的 Canvas.不同的时,Android里没有Graphics,而用 Paint代之,当然用法也稍有不同.以下是自定义View的一段代码: @Override public void onDraw(Canvas canvas) { // 首先定义一个paint Paint pa
封装CoreGraphics的API简化绘图操作
封装CoreGraphics的API简化绘图操作 效果 说明 1. 将CoreGraphics的API接口抽象为对象,让绘图变得简单易懂 2. 简化常用的绘制操作 3. 源码长期更新 源码 https://github.com/YouXianMing/CGContextObject // // CGContextObject.h // DrawRect // // Created by YouXianMing on 15/7/2. // Copyright (c) 2015年 You
Android canvas画图操作之切割画布实现方法(clipRect)_Android
本文实例讲述了Android canvas画图操作之切割画布实现方法.分享给大家供大家参考,具体如下: android切割画布的历程不算很难,可是理解起来也比较麻烦,这里写一下我的理解 但是不一定正确: canvas.clipRect(30, 30, 70, 70, Region.Op.XOR); 最后一个参数有多个选择分别是: //DIFFERENCE是第一次不同于第二次的部分显示出来 //REPLACE是显示第二次的 //REVERSE_DIFFERENCE 是第二次不同于第一次的部分显示
网页的超级链接-Adobe Flash Professional CS6操作
问题描述 Adobe Flash Professional CS6操作 Adobe Flash Professional CS6里面怎样做网页的超级链接?谢谢大家
MFC对于static控件在界面上的绘图操作,绘图的擦除
问题描述 MFC对于static控件在界面上的绘图操作,绘图的擦除 用MFC语言画图,每次绘图的时候自动擦除之前的图像,用的是什么函数呢? 解决方案 强制刷新客户区,然后画上新的图形,自然就把原来的清除掉了.http://www.cppblog.com/tx7do/archive/2010/02/27/108564.html 解决方案二: Invalidate(TRUE); 解决方案三: 在static控件上绘图(一)
MFC对于static控件在界面上的绘图操作,绘图的擦除操作
问题描述 MFC对于static控件在界面上的绘图操作,绘图的擦除操作 在MFC中画波纹图,需要先事先擦除旧的数据,具体的函数调用是什么? 解决方案 在Static控件上画图的方法.. 声明两个变量在view或Dialog的头文件中. CWnd* pWnd; //表示控件窗口的变量 CDC* pControlDC; //表示控件窗口的设备描述表.DC 在OnInitialUpdate()函数中进行赋值(View) pWnd=GetDlgItem(IDC_STATICRCT); pControlD
Android canvas画图操作之切割画布实现方法(clipRect)
本文实例讲述了Android canvas画图操作之切割画布实现方法.分享给大家供大家参考,具体如下: android切割画布的历程不算很难,可是理解起来也比较麻烦,这里写一下我的理解 但是不一定正确: canvas.clipRect(30, 30, 70, 70, Region.Op.XOR); 最后一个参数有多个选择分别是: //DIFFERENCE是第一次不同于第二次的部分显示出来 //REPLACE是显示第二次的 //REVERSE_DIFFERENCE 是第二次不同于第一次的部分显示