public void InternalAdjustHue(double delta) { if (shape_filter == null) { shape_filter = new ColorMatrixFilter(); } shape_filter.adjustHue(delta); this.loc.filter = shape_filter; }
public MaskScene() { mContents = new Sprite(); addChild(mContents); var stageWidth = Starling.current.stage.stageWidth; var stageHeight = Starling.current.stage.stageHeight; var touchQuad = new Quad(stageWidth, stageHeight); touchQuad.alpha = 0; // only used to get touch events addChildAt(touchQuad, 0); var image = new Image(Game.assets.getTexture("flight_00")); image.x = (stageWidth - image.width) / 2; image.y = 80; mContents.addChild(image); // just to prove it works, use a filter on the image. var cm = new ColorMatrixFilter(); cm.adjustHue(-0.5); image.filter = cm; var scissorText = new TextField(256, 128, "Move the mouse (or a finger) over the screen to move the clipping rectangle."); scissorText.x = (stageWidth - scissorText.width) / 2; scissorText.y = 240; mContents.addChild(scissorText); var maskText = new TextField(256, 128, "Currently, Starling supports only stage-aligned clipping; more complex masks " + "will be supported in future versions."); maskText.x = scissorText.x; maskText.y = 290; mContents.addChild(maskText); var scissorRect = new Rectangle(0, 0, 150, 150); scissorRect.x = (stageWidth - scissorRect.width) / 2; scissorRect.y = (stageHeight - scissorRect.height) / 2 + 5; mContents.clipRect = scissorRect; mClipQuad = new Quad(scissorRect.width, scissorRect.height, 0xff0000); mClipQuad.x = scissorRect.x; mClipQuad.y = scissorRect.y; mClipQuad.alpha = 0.1; mClipQuad.touchable = false; addChild(mClipQuad); touch += onTouch; }
private void initFilters() { mFilterInfos = new Array( new Array("Identity", new ColorMatrixFilter()), new Array("Blur", new BlurFilter()), new Array("Drop Shadow", BlurFilter.createDropShadow()), new Array("Glow", BlurFilter.createGlow()) ); var displacementFilter = new DisplacementMapFilter( createDisplacementMap(mImage.width, mImage.height), null, BitmapDataChannel.RED, BitmapDataChannel.GREEN, 25, 25); mFilterInfos.push(new Array("Displacement Map", displacementFilter)); var invertFilter = new ColorMatrixFilter(); invertFilter.invert(); mFilterInfos.push(new Array("Invert", invertFilter)); var grayscaleFilter = new ColorMatrixFilter(); grayscaleFilter.adjustSaturation(-1); mFilterInfos.push(new Array("Grayscale", grayscaleFilter)); var saturationFilter = new ColorMatrixFilter(); saturationFilter.adjustSaturation(1); mFilterInfos.push(new Array("Saturation", saturationFilter)); var contrastFilter = new ColorMatrixFilter(); contrastFilter.adjustContrast(0.75); mFilterInfos.push(new Array("Contrast", contrastFilter)); var brightnessFilter = new ColorMatrixFilter(); brightnessFilter.adjustBrightness(-0.25); mFilterInfos.push(new Array("Brightness", brightnessFilter)); var hueFilter = new ColorMatrixFilter(); hueFilter.adjustHue(1); mFilterInfos.push(new Array("Hue", hueFilter)); }