Флекс "Лупа" / Маскировка - PullRequest
1 голос
/ 08 марта 2011

Я делаю приложение с увеличительным стеклом и мне нужна помощь. В настоящее время у меня есть следующий код:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init()">
<mx:Script>
<![CDATA[
    // This code assumes it's being run within a display object container

// such as a MovieClip or Sprite instance.

import flash.display.GradientType;
import flash.display.Loader;
import flash.display.Sprite;
import flash.geom.Matrix;
import flash.net.URLRequest;

private function init():void {
// Load an image and add it to the display list.
var loader:Loader = new Loader();
var url:URLRequest = new URLRequest("images/ZionsMap.png");
loader.load(url);
this.stage.addChild(loader);
    // Create a Sprite.
var oval:Sprite = new Sprite();
// Draw a gradient oval.
/*  var colors:Array = [0x000000, 0x000000];
var alphas:Array = [1, 0];
var ratios:Array = [0, 255];
var matrix:Matrix = new Matrix();
matrix.createGradientBox(200, 100, 0, -100, -50);
    oval.graphics.beginGradientFill(GradientType.RADIAL,
                                    colors,
                                    alphas,
                                    ratios,
                                    matrix);  */
oval.graphics.beginFill(0xFFFFFF,1.0);
oval.graphics.drawEllipse(-200, -50, 200, 200);
oval.graphics.endFill();
// add the Sprite to the display list
this.stage.addChild(oval);
// Set cacheAsBitmap = true for both display objects.
//loader.cacheAsBitmap = true;
//oval.cacheAsBitmap = true;
// Set the oval as the mask for the loader (and its child, the loaded image)
loader.mask = oval;
// Make the oval draggable.
oval.startDrag(true);
}
]]>
</mx:Script> </mx:Application>

Но я не уверен, как увеличить увеличенное изображение поверх увеличенного увеличенного изображения. Текущая перетаскиваемая маска покажет увеличенное изображение через уменьшенное изображение. Любые советы?

Ответы [ 2 ]

1 голос
/ 17 октября 2012

Я написал плагин для WordPress, который делает увеличительное стекло.

(http://s.wordpress.org/extend/plugins/glass/screenshot-4.png)

Вы можете увидеть его в действии в моем блоге http://codeblab.com/glass/у этого также есть некоторые статьи, объясняющие, как это работает.Вы можете посмотреть код JavaScript, если хотите, он под GPL.

1 голос
/ 09 марта 2011

Просто указатель: этот парень сделал довольно крутое увеличительное стекло, сохранил это в моей учетной записи gmail для дальнейшего использования:

http://devsachinonflex.blogspot.com/2010/04/magnifying-glass-in-flex.html

...