用法:如果是把png直接导入flash转换成影片剪辑,只需在影片剪辑属性中勾选为ActionScript导出(x),并把基类里的flash.display.MovieClip替换成InteractivePNG即可;如果是外部导入png,只需将存放png的类继承InteractivePNG即可;

 package
{
import flash.display.Loader;
import flash.display.MovieClip;
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.filters.DropShadowFilter;
import flash.net.URLRequest; /**
* ...
* @author Frost.Yen
*/
public class TestPNG extends Sprite
{
private var pngSp:PNGContainer;
private var ldr:Loader = new Loader ;
private var lineSp:Sprite;
private var frame:Shape = new Shape ;
public function TestPNG()
{ lineSp = new Sprite ;
pngSp = new PNGContainer ;
pngSp.x = pngSp.y = 200;
this.addChild(lineSp);
this.addChild(pngSp);
pngSp.addEventListener(MouseEvent.MOUSE_OVER,onPNGOver);
pngSp.addEventListener(MouseEvent.MOUSE_OUT,onPNGOut);
} private function onPNGOver(e:MouseEvent):void
{
drawLine(pngSp);
} private function onPNGOut(e:MouseEvent):void
{
this.removeChild(frame);
} private function drawLine(_mc:MovieClip)
{
frame.graphics.clear();
frame.graphics.moveTo(_mc.x,_mc.y);
frame.graphics.lineStyle(1,0xff00ff);
frame.graphics.lineTo(_mc.x + _mc.width,_mc.y);
frame.graphics.moveTo(_mc.x + _mc.width,_mc.y);
frame.graphics.lineTo(_mc.x + _mc.width,_mc.y + _mc.height);
frame.graphics.moveTo(_mc.x + _mc.width,_mc.y + _mc.height);
frame.graphics.lineTo(_mc.x,_mc.y + _mc.height);
frame.graphics.moveTo(_mc.x,_mc.y + _mc.height);
frame.graphics.lineTo(_mc.x,_mc.y);
addChild(frame);
}
}
}
 package
{
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest; /**
* ...
* @author Frost.Yen
*/
public class PNGContainer extends InteractivePNG
{
private var ldr:Loader = new Loader ;
public function PNGContainer()
{
ldr.load(new URLRequest("128.png"));
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,onPNGLoaded);
} private function onPNGLoaded(e:Event):void
{
this.addChild(e.target.content);
}
} }

InteractivePNG.as类可以到http://yan_frost.download.csdn.net/下载

[ActionScript 3.0] 利用InteractivePNG.as类精确选择识别png图片有像素的区域的更多相关文章

  1. 精确选择识别png图片有像素的区域(使用方法)

    /** * * *---------------------------------------* * | ***精确选择识别png图片有像素的区域*** | * *----------------- ...

  2. 精确选择识别png图片有像素的区域

    /** * * *---------------------------------------* * | ***精确选择识别png图片有像素的区域*** | * *----------------- ...

  3. [ActionScript 3.0] 利用ColorTransform实现对象(图片)的曝光过渡效果

    原图效果 过渡效果 这个效果可以用帧动画实现较为简单,只需要调节这个影片剪辑的色彩效果样式里面的高级选项的三个通道值,以下用代码简单测试,可作为文档类: package { import com.tw ...

  4. [ActionScript 3.0] 使用Embed在类中嵌入字体

    package { import flash.display.Sprite; import flash.text.Font; import flash.text.TextField; import f ...

  5. [ActionScript 3.0] 正则表达式

    正则表达式: 正则表达式最早是由数学家Stephen Kleene在对自然语言的递增研究成果的基础上,于1956提出来的.具有完整语法的正则表达式,主要使用在字符串的格式的匹配方面上,后来也逐渐应用到 ...

  6. 利用Android-FingerprintManager类实现指纹识别

    安卓指纹识别 利用FingerprintManager主类进行指纹识别. Github项目地址 在安卓6.0中新增了API,FingerprintManager类,它是Google提供的帮助访问指纹硬 ...

  7. ActionScript 3.0 API 中的 Video 类

    注:这个类在Flash流媒体开发中使用的很频繁,在此记录一下它的使用方法. 包 flash.media 类 public class Video 继承 Video  DisplayObject  Ev ...

  8. [ActionScript 3.0] as3处理xml的功能和遍历节点

    as3比as2处理xml的功能增强了N倍,获取或遍历节点非常之方便,类似于json对像的处理方式. XML 的一个强大功能是它能够通过文本字符的线性字符串提供复杂的嵌套数据.将数据加载到 XML 对象 ...

  9. Kafka设计解析(二十二)Flink + Kafka 0.11端到端精确一次处理语义的实现

    转载自 huxihx,原文链接 [译]Flink + Kafka 0.11端到端精确一次处理语义的实现 本文是翻译作品,作者是Piotr Nowojski和Michael Winters.前者是该方案 ...

随机推荐

  1. MYSQL 存储过程、函数、临时表、游标

    创建函数 因为我们平时经常需要创建不同日期的数据,以模拟的场景,覆盖更多的用例,所以这里写了一个返回随机日期的demo.大家可以自行扩展. DROP FUNCTION IF EXISTS milan_ ...

  2. Comet OJ - Contest #2 D 枚举重心

    题面 思路: 函数f相当于是求一个点集f的直径,有一个性质是如果这个点集有多个直径一定相交于某一个点,或者一条边的中心,所以我们暴力枚举重心,计算以某个点为重心的点集对答案的贡献. 具体实现的时候,我 ...

  3. word 标题序号

    设置标题的序号. 1>设置二级标题的序号  步骤一: 步骤二: 步骤三: 步骤四: 2>设置三级标题的序号 程序员的基础教程:菜鸟程序员

  4. linux zip解压缩中文乱码

    这里提供两个解决方案: 1.python处理下:https://gist.github.com/wangjiezhe/7841a350983a147b6d7e 2.java的zip4j:http:// ...

  5. 常用工具类——DatetimeUtil

    import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; imp ...

  6. 通过cat方式生成yum源

    cat >> /etc/yum.repos.d/centos7.repo << EOF[test-iso7]name=CentOS- - Mediabaseurl=http:/ ...

  7. ubuntu 14.04常见问题

    1. 改root密码 sudo passwd root 2. 显示登录框 sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 添加 ...

  8. .NET基础 (06)面向对象的实现

    面向对象的实现1 C#中类可以有多个父类.可以实现多个接口吗2 简述C#中重写.重载和隐藏的概念3 为什么在构造方法中调用虚方法会导致问题4 在C#中如何声明一个类不能被继承 面向对象的实现 1 C# ...

  9. sersync服务搭建

    前言: 一.为什么要用Rsync+sersync架构? 1.sersync是基于Inotify开发的,类似于Inotify-tools的工具 2.sersync可以记录下被监听目录中发生变化的(包括增 ...

  10. [LeetCode 题解]: Count and Say

    The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ...