Il existe une bonne solution, donné par Zemax, qui consiste à redimensionner
étape par étape (de 50%), mais bon, vu que ton ratio ést déjà à 0.5, ce
n'est pas ça le problème.
Voici le lien :
http://www.envrac.org/index.php/2008/06/23/181-reduction-de-bitmapdata-smoothing-pourquoi-c-est-pas-beau-et-comment-ameliorer
En esperant avoir pu t'aider !

Le 22 avril 2010 17:07, Niranjan <[email protected]> a écrit :

>
> Bonjour à tous (premier message dans ce groupe),
>
> Je bosse avec Flex Builder et, pour redimentionner des images en AIR,
> j'utilise la bibliothèque corelib et je fais comme ça :
>
> import com.adobe.images.*;
>
> import flash.display.BitmapData;
> import flash.display.Loader;
> import flash.events.Event;
> import flash.filesystem.File;
> import flash.filesystem.FileStream;
> import flash.geom.Matrix;
> import flash.net.URLRequest;
> import flash.utils.ByteArray;
>
> private var loadeur:Loader;
>
> private function recupImage():void
> {
>        //l'image de départ est sur le bureau (par exemple)
>        var ficDepart:File =
> File.desktopDirectory.resolvePath("imageDepart.jpg");
>        var requete:URLRequest = new URLRequest(ficDepart.url);
>        this.loadeur = new Loader();
>
>  
> this.loadeur.contentLoaderInfo.addEventListener(Event.COMPLETE,this.redimensionner);
>        this.loadeur.load(requete);
> }
>
> private function redimensionner(e:Event):void
> {
>        var rapport:Number = 0.5;
>        var nvHauteur:int = this.loadeur.height * rapport;
>        var nvLargeur:int = this.loadeur.width * rapport;
>
>        //redimensionnement de l'image de départ en conservant les
> proportions
>        var matrice:Matrix = new Matrix;
>        matrice.scale(rapport,rapport);
>
>        //dessin de l'image
>        var bmp:BitmapData = new
> BitmapData(nvLargeur,nvHauteur,false,0x666666);
>        bmp.draw(this.loadeur,matrice,null,null,null,true);
>
>        //création du fichier final
>        var ficArrivee:File =
> File.desktopDirectory.resolvePath("imageArrivee.jpg");
>        var stream:FileStream = new FileStream;
>        stream.open(ficArrivee, FileMode.WRITE);
>        var encodeur:JPGEncoder = new JPGEncoder(100);
>        var data:ByteArray = encodeur.encode(bmp);
>        stream.writeBytes(data, 0, data.length);
>        stream.close();
> }
>
> Ça marche bien mais la qualité de l'image d'arrivée, c'est pas ça. C'est
> pas l'horreur mais ça reste en-dessous de ce que peut faire un simple
> logiciel de retouche d'image. Est-ce que quelqu'un aurait une meilleure
> solution à proposer ?
>
> --
> Vous recevez ce message, car vous êtes abonné au groupe Google
> Groupes FCNG.
> Pour envoyer un message à ce groupe, adressez un e-mail à
> [email protected].
> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
> [email protected] <fcng%[email protected]>.
> Pour plus d'options, consultez la page de ce groupe :
> http://groups.google.com/group/fcng?hl=fr
>
>

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes FCNG.
Pour envoyer un message à ce groupe, adressez un e-mail à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
[email protected].
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/fcng?hl=fr

Répondre à