zoukankan      html  css  js  c++  java
  • 查找满足条件的颜色并替换

    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.BitmapDataChannel;
    import flash.geom.Point;
    import flash.geom.Rectangle;
    
    var bmd1: BitmapData = new BitmapData(200,
    	200,
    	true,
    	0xFFCCCCCC);
    
    var seed: int = int(Math.random() * int.MAX_VALUE);
    var channels: uint = BitmapDataChannel.RED | BitmapDataChannel.BLUE;
    bmd1.perlinNoise(100,
    	80,
    	12,
    	seed, false,
    	true,
    	channels, false,
    	null);
    
    var bitmap1: Bitmap = new Bitmap(bmd1);
    addChild(bitmap1);
    
    var bmd2: BitmapData = new BitmapData(200,
    	200,
    	true,
    	0xFFCCCCCC);
    var pt: Point = new Point(0,
    	0);
    var rect: Rectangle = new Rectangle(0,
    	0,
    	200,
    	200);
    var threshold: uint = 0x00800000; //50%的红色通道值
    var color: uint = 0x80FF0000; //替换后的颜色
    var maskColor: uint = 0x00FF0000; //因为只查找红色通道,所以遮罩仅为纯红色通道
    bmd2.threshold(bmd1,
    	rect, pt, ">",
    	threshold, color, maskColor, true);
    
    var bitmap2: Bitmap = new Bitmap(bmd2);
    bitmap2.x = bitmap1.x + bitmap1.width + 10;
    addChild(bitmap2);
    
    addEventListener(Event.ENTER_FRAME, EnterFrameHandler);
    
    function EnterFrameHandler(e: Event): void {
    	seed = int(Math.random() * int.MAX_VALUE);
    	bmd1.perlinNoise(100,
    		80,
    		12,
    		seed, false,
    		true,
    		channels, false,
    		null);
    	bitmap1.bitmapData = bmd1;
    	bmd2.threshold(bmd1,
    		rect, pt, ">",
    		threshold, color, maskColor, true);
    	bitmap2.bitmapData = bmd2;
    }
    

      

  • 相关阅读:
    [ASM/C/C++]内存碎片处理技术
    NASM网际编译器手册(三)
    NASM网际编译器手册(四)
    NASM网际编译器手册(六)
    NASM网际编译器手册(一)
    IEEE浮点数表示法
    设计模式学习每日一记(12.轻量模式)
    设计模式学习每日一记(11.代理模式)
    canvas一句话备忘录
    usaco1.1.1PROB Your Ride Is Here
  • 原文地址:https://www.cnblogs.com/dt1991/p/9298977.html
Copyright © 2011-2022 走看看