Flex 돋보기 효과 구현 코드
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">
<br/>[Embed(source="assets/magnify.pbj", mimeType="application/octet-stream")]
<br/>private var shaderObj:Class;
<br/>private var shader:Shader;
<br/>private var shaderFilter:ShaderFilter;
<br/>/**
<br/>* Initialize the shader
<br/>*/
<br/>private function onApplicationComplete():void
<br/>{
<br/>// create the shader
<br/>shader = new Shader( new shaderObj() );
<br/>shader.data.center.value = [image.width/2, image.height/2];
<br/>setShader();
<br/>// setup event listeners
<br/>stage.addEventListener( Event.ENTER_FRAME, onEnterFrame, false, 0, true );
<br/>}
<br/>/**
<br/>* Each frame, only reapply the filter if necessary
<br/>*/
<br/>private function onEnterFrame( event:Event ):void
<br/>{
<br/>setShader();
<br/>}
<br/>/**
<br/>* Update all the shader's properties, create a new ShaderFilter,
<br/>* and reapply it to the image
<br/>*/
<br/>private function setShader():void
<br/>{
<br/>var centerX:Number = image.mouseX;
<br/>var centerY:Number = image.mouseY;
<br/>if( centerX < 0 || centerY < 0 || centerX > image.width || centerY > image.height )
<br/>{
<br/>var currentX:Number = shader.data.center.value[0];
<br/>var currentY:Number = shader.data.center.value[1]
<br/>centerX = currentX + ((image.width / 2)-currentX) / 2;
<br/>centerY = currentY + ((image.height / 2)-currentY) / 2;
<br/>}
<br/>shader.data.center.value = [centerX, centerY];
<br/>shader.data.innerRadius.value = [innerRadiusSlider.value];
<br/>shader.data.outerRadius.value = [outerRadiusSlider.value];
<br/>shader.data.magnification.value = [magnificationSlider.value];
<br/>shaderFilter = new ShaderFilter( shader );
<br/>image.filters = [shaderFilter];
<br/>}
<br/>]]>
<br/>
id="image"
source="assets/YellowFlowers.jpg" />
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.