Komunitas Belajar Swishmax Indonesia

Home Tutorial Swishmax Script Script untuk Pixelate image
Script untuk Pixelate image

berikut ini script dan penjelasannya

// original script dari © www.senocular.com

onSelfEvent (load) {    

    Stage.scaleMode = "noScale";

}

onFrame (1) {

    // buat movie clip menampung versi yang dipixelated dari foto di movie clip original_mc

    this.createEmptyMovieClip( "pixelated_mc", 1 );

    // letakkan di samping original_mc

    pixelated_mc._x = original_mc._x + original_mc._width;    

    pixelated_mc._y = original_mc._y; 

    // ciptakan function

    pixelate = function(){

        // buat variable untuk menentukan ukuran pixel awal

        var pixelSize = 80;    

        // sembunyikan repeat button

        repeat._visible = false;

        // naikkan pixelation pada setiap frame

        this.onEnterFrame = function(){

            // buat objek bitmapDat baru berdasar dari ukuran foto asli dan pixel awal

            // ini akan digunakan untuk mempixelate foto asli

            var bitmapData = new flash.display.BitmapData( original_mc._width/pixelSize, original_mc._height/pixelSize, false );

            //pasang bitmap ke foto_pixelated

            pixelated_mc.attachBitmap(bitmapData, 1);        

            //buat matrix object untuk merubah ukuran foto

            //yang akan digambar berdasar foto asli ke bitmapData

            var scaleMatrix = new flash.geom.Matrix();

            // merubah ukuran berdasar pada pixelSize

            scaleMatrix.scale(1/pixelSize, 1/pixelSize);        

            //tampilkan foto original ke dalam BitmapDatobject selagi ukurannya mengecil

            bitmapData.draw( original_mc, scaleMatrix );        

            //memastikan ukuran foto_pixelated sesuai dengan ukuran original_mc

            pixelated_mc._width = original_mc._width;

            pixelated_mc._height = original_mc._height;        

            //naikkan angka pixelation

            pixelSize *= .95;        

            //jika ukuran pixel sudah sesuai, hapus function

            if (pixelSize < 1){

                delete this.onEnterFrame;

                // tampilkan repeat button

                repeat._visible = true;

            }

        }

    }

    //jalankan function

    pixelate();

    //script tombol repeat on release untuk menjalankan function

    repeat.onRelease = function(){

        pixelate();

    }

    stop();

}


blog comments powered by Disqus