Domanda

Ho un componente Flex con un'immagine di sfondo. L'immagine è forte all'inizio, ma è frastagliata quando mi scala il componente utilizzando scaleX e scaleY. Come faccio a rendere l'immagine anti-alias in modo che, si è riportata in scala a 0,75, le linee sono liscia, non jaggedy?

Qui è l'immagine

Ecco la versione ridotta

E il unscaled (buono) una

È stato utile?

Soluzione

Se si carica l'immagine con una componente Immagine, è possibile lanciare la proprietà contenuto del componente a un bitmap e quindi impostare smoothing su true. Purtroppo, la componente dell'immagine non fornisce questa funzionalità out of the box. Tuttavia, è piuttosto facile da hackerare in.

Ecco un tutorial per mostrare come creare un tale componente: http://www.adobe.com/cfusion/ communityengine / index.cfm? evento = ShowDetails & productId = 2 & postId = 4001

Tuttavia, se questo è impostato utilizzando lo stile BackgroundImage di un componente, potrebbe essere solo fuori di fortuna a meno che non si ignora updateDisplayList ed eseguire il disegno della bitmap del corpo utilizzando Graphics.beginBitmapFill (che fornisce il supporto smoothing).

Perché smoothing delle immagini non ha un miglior supporto (come diversi metodi di interpolazione) in Flex (e, successivamente, Flash) vacilla la mia mente. Almeno filtri bender pixel aiuteranno un po ', lasciando a implementare tali filtri stessi.

Altri suggerimenti

Se le dimensioni della bitmap sono sia o n ^ 2 o n ^ 8, poi il Flash Player utilizzerà automaticamente una tecnica chiamata mip-mapping che migliorerà notevolmente l'aspetto (e le prestazioni) di immagini bitmap in scala.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top