2009-04-25 6 views
1

J'ai une toile qui est une zone de dessin. Cette toile peut être défilée horizontalement et verticalement.Bipmapdata flexible et toile défilée

J'essaie de faire une capture d'écran de la toile entière, cela comprend les parties visibles et défilées.

var bmd:BitmapData = new BitmapData(board.width, board.height, false, 0xffffff); 
bmd.draw(board); 

Cela ne me montrer la partie visible de la toile et ses barres de défilement:/

Comment voulez-vous résoudre ce problème? L'utilisation de board.width + board.horizontalScrollPosition ne sera d'aucune aide dans ce cas.

Merci beaucoup.

Répondre

1

Je pense que votre meilleur pari est d'imbriquer des toiles. Une toile est une taille fixe qui contient la plus petite zone déroulante et l'autre est la toile pleine. Quelque chose comme

<mx:Canvas id="boardContainer" width="800" height="600"> 
    <mx:Canvas id="board" width="800" height="1200" /> 
</mx:Canvas> 

De cette façon, vous avez une référence à une toile qui est non masquée et vous devriez être en mesure de prendre une bitmapData de toute la région.

+0

Cela fonctionne, merci! Maintenant, je dois refactoriser beaucoup de choses :) – coulix