weblog . Biography . Flexibility . projects
  • photography by Kristel van Beek

    Sloppy code
    Note to self: Ant Java heap space on Mac OS

    01 Aug: Flash Player Bitmap Limits Again

    posted by: martijn, at 1 August 2009 21:29 GMT+1, 6 August 2009 23:23 GMT+1

    My struggle with the Flash Bitmap limitations continues (images bigger than 8191x2048 or 2048x8191 aren’t displayed by the Flash Player) because my previous solution didn’t account for masks and the project I was working on did require masks eventually. The solution that I came up with before was simply cut the big image in little pieces (1000x1000) and melt them together and position and rotate the complete component. Like this image shows, the image is shown here with the tiling and depth positioning:

    Tiles of images

     

    To mask the image we first came up with the solution to cut the mask the same way as the image and than map it at the same position and handle the scaling and rotation with a matrix. But when we tried to implement the rotation of the mask and the image we got stuck in a lot of math and we couldn’t get it perfect. Also we got sub-pixel problems because of the rotation. Flash has to determine how the rotated pixel is re-rendered and had to choose where to put the pixel info, to illustrate: a pixel rotated 45 degrees infects the surrounding pixels in color and can infect the border of the image. So the re-rendered image can become 1 pixel bigger or smaller.


    We came up with a new solution, the image is still cut into pieces with a Matrix which takes care of positioning, scaling and now also rotation. And on the same level we also did the mask. So we came up with a set of straight cut images instead of rotated images and the masking was relative simple now. To assure correct gapless tiling (which is not really an issue because of the straight cut images) the images and masks are tiled equally (image, mask, image, mask etc).

    I created a demo application which contains the actual source. It loads a big image and has a strange positioned and rotated image. In the left top corner you see a slider which controls the zooming. When you zoom it you’ll see the cutting lines but at 100% they are gone. The application has no nice loaders and the image is big 6000x4800 and the mask is 1000x1000 with an alpha channel so be patience.

     

    ps. My excuse for the double post on Adobe Feeds.

    Add this link to del.icio.us vote in HexoSearch permalink - tags: flash player | bitmap limits - 2 Comments
    Write a comment for this article

    2 Comments

    • Rick Winscot says:

      at 2 August, 2009 4:42 www.quilix.com
      Have you tried the BitmapDataUnlimited approach by Martin Rädlinger?blog.formatlos.de/2008/05/28/bitmapdataunlimited/
    • Martijn van Beek says:

      at 2 August, 2009 10:05 martijnvanbeek.net
       @Rick: Yes I've looked at it but there is no mask support (only with an clipping rectangle).
    Write a comment for this article
  • categories
    • flash (26)
    • flex (26)
    • flash player (10)
    • php (7)
    • adobe (6)
    • eclipse (5)
    • weblog (5)
    • open source (4)
    • red5 (4)
    • mac (4)
    • linux (4)
    • apple (4)
    • style (4)
    • windows (3)
    • air (3)
    • apollo (3)
    • javascript (3)
    • design (3)
    • firefox (3)
    • flash media server (3)
    • uimodifier (2)
    • silverlight (2)
    • support (2)
    • microsoft (2)
    • bitmap limits (2)
    • internet explorer (2)
    • safari (1)
    • team (1)
    • chrome (1)
    • devigner (1)
    • git (1)
    • flex builder (1)
    • opera (1)
    • mxna (1)
    • google (1)
    • msn (1)
    • internet provider (1)
    • dell (1)
    • advertisement (1)
    • developer (1)
    • repent (1)
    • nintendo wii (1)
    • java (1)
    • music (1)
    show all
  • all articles
    • February, 2010
    • Flash on Mac Faster
    • December, 2009
    • Historic moment (somehow), Microsoft names Devigner in an article.
    • Universal filesystem
    • November, 2009
    • Projects get a home
    • October, 2009
    • I'm a daddy from now on, her name is Julia
    • My projects moved to GitHub
    • SWFLoader fails where Loader succeeds
    • September, 2009
    • Note to self: Ant Java heap space on Mac OS
    • August, 2009
    • Flash Player Bitmap Limits Again
    • May, 2009
    • Sloppy code
    • April, 2009
    • Flash CS4 IDE navigateToURL bug on the Mac
    • Flex Builder Gumbo expired
    • March, 2009
    • Dear Steve II: The files problem
    • Dear Steve I: The support problem
    • January, 2009
    • Flash Player Bitmap Limits
    • December, 2008
    • Google Chrome and why I use it for Flex debugging
    • November, 2008
    • UIModifier, release 0.0.1
    • October, 2008
    • AIR and Icons
    • Matrix rotation
    • September, 2008
    • CS4 announced, still huge price differences
    • Dear Adobe
    • Browser (technology) war
    • July, 2008
    • mx.effects.Move is Evil
    • Adobe, why no 64-bits Flash Player?
    • Collaboration with Adobe Flex
    • June, 2008
    • My vision on the web video future
    • Flex Builder rename bug (?)
    • May, 2008
    • Flash TextField bug?
    • Astro, Flash Player 10 prerelease has arrived
    • April, 2008
    • Released new website for Kristel van Beek
    • Portishead
    • March, 2008
    • IE7 + HTTPS + Flash
    • Mac experiences
    • I'm a mac now
    • February, 2008
    • AIR, my opinion!
    • Ubuntu living under Windows
    • Pulse, Eclipse on demand
    • January, 2008
    • Zend Neon becomes Zend Studio for Eclipse
    • BlueBerry needs Developers
    • Sparkling new website
    • December, 2007
    • Super Mario Galaxy
    • Apple, please deliver a 15" MacBook Pro with 1920x1200 resolution
    • November, 2007
    • Buzzword, amazing...
    • Garbage collection of the Flash Player
    • October, 2007
    • Flash Player memory differences per browser
    • Zend Neon
    • Flex Builder for Linux
    • September, 2007
    • Testing the existance of an attribute in XML with AS3
    • Opening Flash documents within Flex
    • PDT 1.0 Released
    • EU vs Microsoft
    • August, 2007
    • Repent has a brand new website
    • Manipulating XML with namespace in AS3
    • What's going on with MXNA?
    • Red5 Admin Panel's future
    • July, 2007
    • Red5 Admin Panel 0.2 release (update)
    • June, 2007
    • Red5 Admin Panel 0.1
    • BabbaVideo: A new dutch Video site
    • Safari on Windows
    • Adobe Flex 3 and AIR
    • Adobe Live 2007
    • May, 2007
    • Tommorow Adobe Live
    • Strange Windows bug
    • April, 2007
    • The dark side of Flash
    • March, 2007
    • BlueBerry needs a Flex Developer
    • Apollo server, hmm what is that
    • February, 2007
    • Why (especially Adobe) and other companies should support Linux
    • Flex/Eclipse plugin idea
    • January, 2007
    • PHPEclipse is out, welcome PDT
    • Linux Flash Player 9 released
    • I Welcome all you MXNA readers
    • FullScreen and wMode
    • FLV Player in Flex
    • December, 2006
    • Dell Support rocks
    • November, 2006
    • Flash Media Server 3, and more
    • October, 2006
    • XS4ALL trouble
    • BlueChat, Flash Media Server Application
    • September, 2006
    • Flex Google calender
    • Skinning v2 components
    • Flash Media Server Application and advanced skinning
    • August, 2006
    • I finally discovered JSFL
    • You know sIFR?
    • PHP IDE
    • Datagrid experiences
    • July, 2006
    • My weblog is born
    show all
All rights reserved | Design and Development by Martijn van Beek | Managed by Flexibility | Photography by Kristel van Beek

You have Flash Player version: (click to check if you got the latest)
Adobe feeds | LinkedIn profile | Last.fm profile | Github