2009-08-13 3 views
0

Ich habe ein Bild in einem Canvas verschachtelt.In Flex, wie setzt man ein Bild in ein Canvas, ohne dass es überläuft?

<mx:Canvas> 
<mx:Image source="@Embed(source='assets/library.swf', symbol='Waves')" /> 
</mx:Canvas> 

Ich möchte, dass das Bild die Grenzen von Canvas nicht überschreitet. Aber wenn ich width und height auf dem Canvas festlegen, verschwindet mein Bild. Canvas scheint auch nicht zu respektieren horizontalScrollPolicy.

Scheint einfach, aber da die offizielle Flex-Dokumentation im Moment nicht verfügbar ist, dachte ich, ich würde mich an SO wenden.

Antwort

1

Ihr Canvas sollte eine Breite und eine Höhe haben und Sie können die Autoscale/maintainaspectratio Eigenschaften verwenden, um das Bild zu verhalten.

<mx:Canvas width="500" height="250" 
     verticalScrollPolicy="off" horizontalScrollPolicy="off" 
     backgroundColor="#000000"> 

     <mx :Image id="theimage" 
      maintainAspectRatio="true" 
    scaleContent="true" 
      width="500" height="250" 
      source="your image" /> 
</mx:Canvas> 

Sie können auch diese post überprüfen, ob Sie das Bild zu zentrieren möchten. es ist ein bisschen schwieriger, als es sollte.

+0

Danke, du hast mich auf die richtige Spur gesetzt. – Aupajo

0

Das Problem war meine eigene Schuld. Ich habe den Zeichenreferenzpunkt des Clips auf ungefähr die Höhe der Bühne eingestellt und die Höhe des Canvas auf die Höhe des Clips ohne Markierung festgelegt.

Am Ende des Bezugspunktes in Flash zwicken und den folgenden Code verwendet es gelöst:

<mx:Canvas width="100%" height="200" horizontalScrollPolicy="off" verticalScrollPolicy="off"> 
<mx:Image source="@Embed(source='assets/library.swf', symbol='Waves')" /> 
</mx:Canvas> 

TheBrain Antwort in der Regel richtig ist, though.