`

AdjustDisplayObject 之 Mosaic

    博客分类:
  • Flex
阅读更多

flash 图像显示

AdjustDisplayObject.rar

 

包含3个类,都是类函数

DisplayObjectAdjustColor 类包含对显示对象进行调整颜色的静态方法:亮度、对比度、饱和度和色相。

 

DisplayObjectFilters 类包含各种对显示对象进行过滤的常数值和方法,包括:相底反色效果、灰度、查找边缘、锐化、马赛克效果(两种方法)、浮雕效果、杂点效果、素描效果、水彩 效果、扩散效果(毛玻璃效果)、球面效果(鱼眼效果)、挤压效果、光照效果(高光效果)、PS里的颜色阈值效果、油画效果、旧照片效果。

 

BitmapTransformer 类包含各种对显示对象进行变形转换的方法,包括:裁剪、旋转、缩放、倾斜、对齐、分布。

 

用上面的mosaicFilter2来做一个flex中的马赛克的tweenEffect效果

 

  

 

package {
    import mx.effects.IEffectInstance;
    import mx.effects.TweenEffect;
    
    public class Mosaic extends TweenEffect {
        
        public function Mosaic(target:Object = null) {
            super(target);
            
            instanceClass = MosaicInstance;
        }
        
        public var scaleFrom:Number = 1;
        public var scaleTo:Number = 0.0002;
        
        override public function getAffectedProperties():Array {
            return [];
        }
        
        override protected function initInstance(inst:IEffectInstance):void {
            super.initInstance(inst);
            
            MosaicInstance(inst).scaleFrom = scaleFrom;
            MosaicInstance(inst).scaleTo = scaleTo;

        }
    }
}

 

 

package {
    import cn.riahome.filters.DisplayObjectFilter;
    
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.DisplayObject;
    
    import mx.core.Container;
    import mx.effects.Tween;
    import mx.effects.effectClasses.TweenEffectInstance;
    
    public class MosaicInstance extends TweenEffectInstance {
        
        private var mosaicBitmap:Bitmap;
        private var orginalBitmapData:BitmapData;
        
        //1 - 0.0001;
        public var scaleFrom:Number;
        public var scaleTo:Number;

        
        public function MosaicInstance(target:Object) {
            super(target);
            
            this.target = target;
        }
        
        override public function play():void {
            super.play();
            initMosaicBitmap();
            var tween:Tween = createTween(this, scaleFrom, scaleTo, duration); 
        }
        
        override public function onTweenUpdate(val:Object):void {
            mosaicBitmap.bitmapData = DisplayObjectFilter.mosaicFilter2(new Bitmap(orginalBitmapData),Number(val));
        }
        
        override public function onTweenEnd(val:Object):void {
            super.onTweenEnd(val);
            
            removeMosaicBitmap();
        }

        
        private function initMosaicBitmap():void {
            orginalBitmapData = new BitmapData(target.width,target.height,true,0);
            orginalBitmapData.draw(target as DisplayObject);
            
            mosaicBitmap = new Bitmap(orginalBitmapData);
            
            if(target is Container) {
                target.rawChildren.addChild(mosaicBitmap); 
            }
            else {
                target.addChild(mosaicBitmap);
            }
        }
        
        private function removeMosaicBitmap():void {
            if (target is Container)
				target.rawChildren.removeChild(mosaicBitmap); 
			else {
			    target.removeChild(mosaicBitmap); 
			}
				
		    mosaicBitmap.bitmapData.dispose();
		    mosaicBitmap.bitmapData = null;
		    mosaicBitmap = null;
		    orginalBitmapData = null;
        }
    }
}
  • 大小: 123.3 KB
分享到:
评论

相关推荐

    matlab开发-mosaic

    在MATLAB环境中,"mosaic"通常指的是将多张图像拼接成一张大图的过程,也称为图像拼贴。这个开发项目可能是一个自定义函数,用于帮助用户方便地从图像数据库中选择并组合图片,创建出具有艺术效果的彩色照片。下面...

    envi_mosaic技术处理方法和过程.pdf

    envi_mosaic技术处理方法和过程,Seamless Mosaic Mosaic Tutorial: Simple Workflow Mosaic Tutorial: Advanced Workflow Use the Seamless Mosaic workflow to mosaic georeferenced images into one image....

    Mosaic用于构建用户界面的前端JavaScript库

    View组件则是用户看到和与之交互的部分。Mosaic提供了丰富的组件库,如按钮、表单、网格、对话框等,可以快速构建复杂的用户界面。这些组件都是响应式的,能够在不同的设备和屏幕尺寸上提供良好的用户体验。 ...

    mosaic方法实现图像融合

    在本案例中,我们讨论的是使用MATLAB的“mosaic”方法来实现图像融合。MATLAB是一种强大的数学计算和数据分析环境,它提供了丰富的图像处理工具箱,方便用户进行图像操作和分析。 首先,我们需要理解“mosaic”方法...

    sift-mosaic.rar_Sift mosaic_mosaic_sift 图像拼接_相位相关 MATLAB

    【SIFT特征与Mosaic图像拼接】 在图像处理领域,SIFT(尺度不变特征变换)是一种强大的特征检测算法,由David G. Lowe在2004年提出。SIFT特征具有尺度不变性和旋转不变性,能有效识别图像中的关键点,即便在缩放、...

    mosaic nv21 有bug

    nv21的mosaic有bug,边缘处有bug

    matlab开发-imagemosaic

    在MATLAB中进行图像处理和开发时,"imagemosaic"是一个非常实用的功能,它允许我们将多张图片拼接成一个大的图像,形成一种图像拼贴的效果。这种技术在数据分析、可视化以及艺术创作等多个领域都有广泛应用。本文将...

    Mosaic.ERP大型系统

    ERP Mosaic.ERP大型系统 Mosaic.ERP大型系统

    Mosaic_Batch_V5.3_S1.zip

    《ENVI扩展模块Mosaic_Batch_V5.3_S1详解》 ENVI(Environment for Visualizing Images)是一款广泛应用于遥感图像处理和分析的专业软件。在ENVI 5.3版本中,用户可以通过安装扩展模块来增强其功能。本文将深入探讨...

    Mosaic数据增强返回图片和xml.py

    Mosaic数据增强返回图片和xml文件,修改自https://blog.csdn.net/wilbur520/article/details/107760805。 使用过程中标签有问题,进行了修改。

    Mosaic-src-2.7b5.tar.gz_NCSA Mosaic_mosaic_浏览器_简单的虚拟代理服务器的源程序

    NCSA Mosaic是互联网历史上一个非常重要的里程碑,它是第一款真正意义上流行的图形化网络浏览器。这个名为"Mosaic-src-2.7b5.tar.gz"的压缩包包含了NCSA Mosaic 2.7b5版本的源代码,让我们深入探讨一下这个软件及其...

    1116-极智开发-解读数据增强之Mosaic及示例代码

    1116_极智开发_解读数据增强之Mosaic及示例代码

    人工智能训练数据增强Mosaic Mixup

    人工智能训练数据增强Mosaic Mixup 1、test_load_mosaic_mixup,使用mosaic_mixup方法增强数据; 2、test_replace_black_block,替换混合增强数据中的黑色块 └── test_thread_fun ,多线程进行替换 └── test_...

    mosaic_utils.py

    mosaic_utils.py

    Mosaic ERP大型系统v6.09

    Mosaic ERP大型系统v6.09

    C#编程 图形图像及打印 Mosaic(源码)

    C#编程 图形图像及打印 Mosaic(源码)C#编程 图形图像及打印 Mosaic(源码)C#编程 图形图像及打印 Mosaic(源码)C#编程 图形图像及打印 Mosaic(源码)C#编程 图形图像及打印 Mosaic(源码)C#编程 图形图像及打印 Mosaic...

    Mosaic_Batch.rar_ mosaic_batch_Mosaic_batch.rar_batch_envi图像镶嵌_图

    ENVI IDL编程 图像镶嵌批处理 图像镶嵌批处理

    mosaic.rar_mosaic

    matlab code for mosaic feature extraction

Global site tag (gtag.js) - Google Analytics