Flex 放大镜效果
来源:互联网 发布:问卷网怎么导出数据 编辑:程序博客网 时间:2024/05/16 14:52
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
layout="vertical"
verticalScrollPolicy="off"
horizontalScrollPolicy="off"
backgroundColor="#FFFFFF"
backgroundGradientColors="#FFFFFF,#FFFFFF"
applicationComplete="onApplicationComplete();"
xmlns:mx="http://www.adobe.com/2006/mxml"
viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
[Embed(source="assets/magnify.pbj", mimeType="application/octet-stream")]
private var shaderObj:Class;
private var shader:Shader;
private var shaderFilter:ShaderFilter;
/**
* Initialize the shader
*/
private function onApplicationComplete():void
{
// create the shader
shader = new Shader( new shaderObj() );
shader.data.center.value = [image.width/2, image.height/2];
setShader();
// setup event listeners
stage.addEventListener( Event.ENTER_FRAME, onEnterFrame, false, 0, true );
}
/**
* Each frame, only reapply the filter if necessary
*/
private function onEnterFrame( event:Event ):void
{
setShader();
}
/**
* Update all the shader's properties, create a new ShaderFilter,
* and reapply it to the image
*/
private function setShader():void
{
var centerX:Number = image.mouseX;
var centerY:Number = image.mouseY;
if( centerX < 0 || centerY < 0 || centerX > image.width || centerY > image.height )
{
var currentX:Number = shader.data.center.value[0];
var currentY:Number = shader.data.center.value[1]
centerX = currentX + ((image.width / 2)-currentX) / 2;
centerY = currentY + ((image.height / 2)-currentY) / 2;
}
shader.data.center.value = [centerX, centerY];
shader.data.innerRadius.value = [innerRadiusSlider.value];
shader.data.outerRadius.value = [outerRadiusSlider.value];
shader.data.magnification.value = [magnificationSlider.value];
shaderFilter = new ShaderFilter( shader );
image.filters = [shaderFilter];
}
]]>
</mx:Script>
<mx:Form>
<mx:FormItem label="Inner Radius">
<mx:HSlider
id="innerRadiusSlider"
minimum="0"
maximum="200"
value="50"
liveDragging="true" />
</mx:FormItem>
<mx:FormItem label="Outer Radius">
<mx:HSlider
id="outerRadiusSlider"
minimum="0"
maximum="200"
value="100"
liveDragging="true" />
</mx:FormItem>
<mx:FormItem label="Magnification">
<mx:HSlider
id="magnificationSlider"
minimum="1"
maximum="50"
value="4"
liveDragging="true" />
</mx:FormItem>
</mx:Form>
<mx:Image
id="image"
source="assets/YellowFlowers.jpg" />
</mx:Application>
- Flex 放大镜效果
- flex滤镜:聚光灯效果、放大镜效果、缩放模糊效果
- 放大镜效果
- 放大镜效果
- 放大镜效果
- 放大镜效果
- 放大镜效果
- 放大镜效果
- 放大镜效果
- 放大镜效果
- 放大镜效果
- 放大镜效果
- 有趣的放大镜效果
- javascript放大镜效果
- js放大镜,淘宝效果
- JS放大镜效果
- JQuery 图片放大镜效果
- 鼠标移动放大镜效果
- Flex 读取xml文件的方法:
- 利用 Dojo Data 开发统一的数据访问模型
- 日志记录组件[Log4net]详细介绍(转)
- ISP,IAP,ICP之间的区别
- 模板推演(deduce)
- Flex 放大镜效果
- 北京奥运会一周年~~~
- Linux下postgresql 安装
- 基于WDM的专用USB设备的驱动程序开发
- 多线程系列
- Java实现BinaryTree
- 090808项目进展
- HelloWorld_module.c
- WM_NOTIFY