andbin
16-01-2008, 17:23
Ho iniziato da poco a studiare Flex/ActionScript. Sto facendo delle prove con le immagini usando la classe Image.
Ecco il codice che ho scritto:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Panel title="Image Test" height="100%" width="100%"
paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="13">
<mx:Image source="una_immagine.jpg" width="100%" height="100%"
scaleContent="{scaleCheckBox.selected}"
maintainAspectRatio="{ratioCheckBox.selected}"
alpha="{alphaSlider.value/100.0}" />
<mx:HBox width="100%">
<mx:CheckBox id="scaleCheckBox" label="Scale content" />
<mx:CheckBox id="ratioCheckBox" label="Mantain aspect ratio" />
<mx:Label text="Alpha" />
<mx:HSlider id="alphaSlider" minimum="0" maximum="100" value="100"
dataTipPlacement="top" tickColor="black" snapInterval="1" tickInterval="10"
labels="['0%','100%']" allowTrackClick="true" liveDragging="true" />
</mx:HBox>
</mx:Panel>
</mx:Application>
Ho definito 2 checkbox e 1 slider che controllano rispettivamente le proprietà scaleContent, maintainAspectRatio e alpha della immagine.
La gestione delle proprietà scaleContent e alpha funziona bene, come ci si aspetta. Agendo sui due controlli, le modifiche sulla immagine sono immediate. Per maintainAspectRatio no, non è immediato.
Mi spiego meglio: seleziono innanzitutto la casella scaleCheckBox (quindi scaleContent diventa true) e a quel punto l'immagine può scalare. Se deve o meno mantenere l'aspect ratio, dipende da maintainAspectRatio ma cliccando sul checkbox che lo controlla la modifica non è immediata, devo ridimensionare anche solo di poco la finestra (uso il projector per le mie prove) perché faccia effetto.
Insomma ... sembra che la (de)selezione di quella checkbox non vada subito a "scatenare" la modifica sull'aspect ratio.
Perché? Come si potrebbe risolvere?
Grazie.
Ecco il codice che ho scritto:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Panel title="Image Test" height="100%" width="100%"
paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" fontSize="13">
<mx:Image source="una_immagine.jpg" width="100%" height="100%"
scaleContent="{scaleCheckBox.selected}"
maintainAspectRatio="{ratioCheckBox.selected}"
alpha="{alphaSlider.value/100.0}" />
<mx:HBox width="100%">
<mx:CheckBox id="scaleCheckBox" label="Scale content" />
<mx:CheckBox id="ratioCheckBox" label="Mantain aspect ratio" />
<mx:Label text="Alpha" />
<mx:HSlider id="alphaSlider" minimum="0" maximum="100" value="100"
dataTipPlacement="top" tickColor="black" snapInterval="1" tickInterval="10"
labels="['0%','100%']" allowTrackClick="true" liveDragging="true" />
</mx:HBox>
</mx:Panel>
</mx:Application>
Ho definito 2 checkbox e 1 slider che controllano rispettivamente le proprietà scaleContent, maintainAspectRatio e alpha della immagine.
La gestione delle proprietà scaleContent e alpha funziona bene, come ci si aspetta. Agendo sui due controlli, le modifiche sulla immagine sono immediate. Per maintainAspectRatio no, non è immediato.
Mi spiego meglio: seleziono innanzitutto la casella scaleCheckBox (quindi scaleContent diventa true) e a quel punto l'immagine può scalare. Se deve o meno mantenere l'aspect ratio, dipende da maintainAspectRatio ma cliccando sul checkbox che lo controlla la modifica non è immediata, devo ridimensionare anche solo di poco la finestra (uso il projector per le mie prove) perché faccia effetto.
Insomma ... sembra che la (de)selezione di quella checkbox non vada subito a "scatenare" la modifica sull'aspect ratio.
Perché? Come si potrebbe risolvere?
Grazie.