ScaleBitmap : New version

Let me introduce the new version of ScaleBitmap :

ScaleBitmap V2 Illustration

I have totally rewritten ScaleBitmap to suit my needs :

  • Better usage of memory : no more creation of BitmapData instance (possibility to swap BitmapData)
  • Outer drawing capability
  • ScaleBitmapSprite
  • The outer drawing & ScaleBitmapSprite allows you to :

  • Easily deal with shadow, glow, overlapping icon effects
  • Use real size & position to align or place your elements
  • Usage 1 : ScaleBitmap

    ScaleBitmap.draw(
    bitmap : BitmapData, // the bitmap source
    graphic:Graphics, // the destination graphic
    width:Number, // width (defined by outer rectangle if not null)
    height:Number, // height (defined by outer rectangle if not null)
    inner : Rectangle, // inner rectangle for scale 9
    outer : Rectangle=null // outer rectangle : visual size reference
    ):void
    

    If outer is not null, ScaleBitmap use a negative offset for drawing (according to outer properties)
    If outer is null, ScaleBitmap works as a classic Scale9 grid drawer

    Usage 2 : ScaleBitmapSprite

    ScaleBitmapSprite(
    bitmap : BitmapData, // the bitmap source
    inner : Rectangle, // inner rectangle for scale 9
    outer : Rectangle=null) // outer rectangle : visual size reference
    
    var s:ScaleBitmapSprite=new ScaleBitmapSprite(mySkin, new Rectangle(20,20,80,20), new Rectangle(15,15,90,30));
    addChild(s);
    s.width=80;
    s.height=40;</a>
    

    ScaleBitmapSprite override public size setter & getter : you can move & resize a ScaleBitmapSprite object without taking care of bitmap outer drawing.

    Simple MyButton class using ScaleBitmapSprite (click the button) :

    A Flash animation should have appeared here, but it seems that your browser has an older version of the Flash Player or it is not installed at all. Please, install the last release of the Flash Player now, then reload this page.


    Sources FCS4 [ require Eaze to compile]

    Download ScaleBitmap & ScaleBitmapSprite :
    Repository : http://gist.github.com/264250

    Some of you prefer gist, so as possible, I will share my new projects via gist.

    Hope this class help & merry Xmas to bytearray readers.

    [EDIT 2010-05-18]

    A new version 1.1 is available !

    Jerôme Decoster, a talented french developer have made a lot of improvements in this new version :

    • smooth support
    • invalidation for ScaleBitmapSprite
    • code optimization
    • inner drawing correction

    So many thanks to you Jerôme :)

    Repository : http://gist.github.com/264250