- 浏览: 390440 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhchyun2008:
这里有个小问题,背景有时候会出现?不知道如何解决
分享一个ToolTip类,趋于完美! -
heiliuer:
歌词可以用,我试了好几个,都行的
百度MP3音乐API接口及应用 -
connectu:
感觉不错,英文版的。
JMX in Action -
海阔天空1991:
楼主,有没有什么途径可以知道歌曲对应的信息?
百度MP3音乐API接口及应用 -
xiegqooo:
简单的关闭 tomcat
import java.io.IO ...
关于Java钩子的使用
困扰了我好几天,也没人帮我解决..。
最后在网上找到了方法。
-------------------------------------------------------------------------
有时候我们希望加载PNG后其透明区域不响应事件..
网上的一般的方法为~
先获取其bitmapData对象..
当进行点击操作时使用..
bitmapData.getPixel32(x,y)获取..
点击位置的是否透明..
然后再操作...
而mosueOver与mouseOut等事件稍为复杂点..
需要侦听mouseMove..
然后对经过的坐标进行透明判断~~再抛出相应的事件...
今天介绍的方法原理跟上面差不多..
不过我们使用Sprite的另一个属性hitArea..(关于hitArea的说明请查看这里)
在图像加载完毕后..
先绘制一个去除了透明部份的Sprite..
然后把该Sprite指定为源对象的hitArea
代码也很简单:
main.mxml
MyImage.as,自定义Image类..
最后在网上找到了方法。
-------------------------------------------------------------------------
有时候我们希望加载PNG后其透明区域不响应事件..
网上的一般的方法为~
先获取其bitmapData对象..
当进行点击操作时使用..
bitmapData.getPixel32(x,y)获取..
点击位置的是否透明..
然后再操作...
而mosueOver与mouseOut等事件稍为复杂点..
需要侦听mouseMove..
然后对经过的坐标进行透明判断~~再抛出相应的事件...
今天介绍的方法原理跟上面差不多..
不过我们使用Sprite的另一个属性hitArea..(关于hitArea的说明请查看这里)
在图像加载完毕后..
先绘制一个去除了透明部份的Sprite..
然后把该Sprite指定为源对象的hitArea
代码也很简单:
main.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*"> <mx:Script> <![CDATA[ import mx.managers.CursorManager; private function abc(e:MouseEvent):void { if(e.type == "mouseOver") { CursorManager.setBusyCursor(); }else { CursorManager.removeBusyCursor(); } } ]]> </mx:Script> <local:MyImage source="10020601.png" mouseOver="abc(event)" mouseOut="abc(event)" y="25"/> <mx:Image source="10020601.png" mouseOver="abc(event)" mouseOut="abc(event)" x="344" y="25"/> </mx:Application>
MyImage.as,自定义Image类..
package { import flash.display.BitmapData; import flash.display.DisplayObject; import flash.display.Sprite; import flash.events.Event; import flash.geom.Matrix; import flash.utils.setTimeout; import mx.controls.Image; /** * 自定义Image类,使之忽略PNG透明区域 * @author L4cd.Net */ public class MyImage extends Image { private var ht:Sprite = new Sprite(); public function MyImage() { addChild(ht); hitArea = ht; //指定hitArea为ht对象 ht.visible = false; ht.mouseEnabled = false; mouseChildren = false; addEventListener(Event.COMPLETE,complete,false,99,true); setTimeout(update,50) } private function complete(e:Event):void { setTimeout(update,50) } private function update():void { if(!content)return; var loader:DisplayObject = content.parent as DisplayObject; var bit:BitmapData = new BitmapData(loader.width,loader.height,true,0x00000000); var mat:Matrix = new Matrix(); mat.scale(loader.scaleX,loader.scaleY); bit.draw(loader,mat); //重绘图象到bit ht.graphics.clear(); ht.graphics.beginFill(0); for(var x:uint=0;x<bit.width;x++) { for(var y:uint=0;y<bit.height;y++) { if(bit.getPixel32(x,y))ht.graphics.drawRect(x,y,1,1); } } //以graphics画出bit的无透明区域 ht.graphics.endFill(); } } }
发表评论
-
学习AS3.0全局函数
2011-07-27 20:16 1972使用目的:字符串的编码与解码。 说明:escape()函数会将 ... -
[心得] 把纯文本嵌入as3类中
2011-06-27 11:07 889必须知道文本的编码类型, 否则中文会读出乱码 [Emb ... -
两个翻转BitmapData的函数
2011-06-20 16:57 1799//向右旋转90度 public function scal ... -
http://dl.iteye.com/upload/attachment/435134/b797675d-eb2f-3c7f-8ed0-f612a5813b8
2011-06-20 16:52 1496这东西不太可能只用滤镜来实现,实实在在用程序画出来还差不多 ... -
重写FLEX组件
2011-06-20 16:05 1970一、为什么要重写组件 1、在FLEX已有组件无法满足业务需求, ... -
Flex Builder快捷键大全
2011-06-16 11:38 1878Ctrl + Shift + L :列出所有快捷键 Ctrl ... -
as3三角函数应用
2011-06-11 18:01 2244基本三角函数的计算: 角的正弦值 = 对边 / 斜边 角的余弦 ... -
Flash使用服务器时间
2011-06-07 10:36 1409在做Flash应用时,有时可能会遇到需要使用服务器时间的情况, ... -
分享一个ToolTip类,趋于完美!
2011-06-07 10:26 1269package myas { import ... -
AnimationState
2011-06-03 17:20 1197package engine { impo ... -
Flex中使用三角函数sin() cos()进行圆形排列
2011-05-14 13:16 2330private const CENTRE:Point = ne ... -
Using non-embedded images in a spark BitmapImage
2011-04-18 11:21 1181TiledImage.mxml <?xml vers ... -
在Flash Player 10.2中使用原生鼠标指针
2011-04-01 17:17 1946Adobe Flash Player 10.2 版本引入了一个 ... -
童年の忆
2011-03-21 19:13 1140送给儿时的自己。 -
有时候我们需要将某个数组清空或者说重置
2011-01-27 23:35 1205有时候我们需要将某个数组清空或者说重置,我最常用的办法的是重新 ... -
利用render事件来提高as3程序的运行效率
2011-01-27 23:21 1971AS3中的DisplayObject有一个render事件,他 ... -
解决RemoteClass alias信息丢失
2011-01-17 11:31 1654问题发生场景:flex程序中存在多个module都调用一个 ... -
Flex 4 List控件分页功能的实现
2010-12-23 11:48 2824要想了解Flex 4 List控件的分页功能(paging)的 ... -
Flash 游戏设计笔记:计时器制作
2010-11-12 10:03 1499[img][/img]在游戏当中, ... -
flash 游戏设计笔记:切割位图技术
2010-11-12 09:56 1676今天探讨一下这个关于 ...
相关推荐
NULL 博文链接:https://as3.iteye.com/blog/897658
小巧便捷的小工具 批量去除png透明区域,并生成配置文件。
Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好...
png 透明png 透明vc++
png透明,png透明,png透明,png透明,png透明,png透明,png透明
批量缩小、处理PNG透明图片的软件【包含注册码】 已经遇到需要批量处理PNG的工作,但是通常的软件批量缩小后,原先透明的PNG就被上了背景。所以这个软件可以帮助到你。。。 物超所值
易语言画PNG透明图片源码,画PNG透明图片,子程序_开启,子程序_输出天气,快照_特殊增强,消除按钮边框,是否开启_,创建圆角矩形区域_,设置窗口区域_,设置窗口非透明组件底图色_,设置窗口信息_,设置窗口玻璃_,删除对象_,...
EXE文件,批量BMP图片转为PNG透明图片,去掉BMP黑色背景,压缩导出png图片,V1.1
易语言PNG窗口外形模块(支持PNG透明) 该模块教程可在网上搜索,易语言中也有说明!
IE6png透明JS
易语言PNG图片透明背景源码例程程序结合易语言扩展界面支持库和应用接口支持库,调用API函数实现PNG图片作为窗口的透明背景。点评:本源码是易语言PNG图片的应用实例。 @易语言难学吗。
C++生成背景透明PNG,个人用VS2010写的测试项目,代码有点乱,直接用VS2010打开编译运行,生成的透明PNG的目录为:C:\win.png,有问题请留言!!!
IE6不兼容png透明背景解决方法,有效解决IE6下 透明图片浅灰背景的问题
unity导出透明通道图插件,非常实用,unity导出png带透明通道图,unity各个版本都支持,Window/Taecg/Image Exporter(序列图导出).或者使用快捷键(Ctrl+M)打开.
VC++使用bmp透明技术,很好的代码,容易!
delphi PNG透明窗体 控件不透明
EXE文件,批量BMP图片转为PNG透明图片,去掉BMP黑色背景,VS2019示例源码程序。
一组不错的PNG透明图标,可以用于BS或CS开发。
java 实现png图片高质量的缩略图,很多时候都会用到的