Изменение размера изображения Silverlight и окончательный размер файла - PullRequest
0 голосов
/ 25 августа 2011

Я создаю загрузчик файлов, используя silverlight и http://imagetools.codeplex.com/.

Все нормально, но мой конечный файл размером около 300 КБ (400 x 300 (разрешение)).

Когда я открываю его в MS Paint и снова сохраняю его в формате jpg, размер становится нормальным.

Мой подозреваемый является де-факто, файл (png), но я не знаю, как.

Мой код:

        public static byte[] resize(string extension,int width,int height,int orientation)
    {
        //Decoders.AddDecoder<BmpDecoder>();
        //Decoders.AddDecoder<PngDecoder>();
        Decoders.AddDecoder<JpegDecoder>();
        //Decoders.AddDecoder<GifDecoder>();

        var newImg = new ExtendedImage();
        if (orientation == 0)
            newImg = ExtendedImage.Resize(img, width, height, new ImageTools.Filtering.NearestNeighborResizer());
        else  
            newImg = ExtendedImage.Resize(img, height, width, new ImageTools.Filtering.NearestNeighborResizer());


        //newImg = applyWaterMark(newImg);
        //var s = new MemoryStream();
        var s = newImg.ToStreamByExtension(extension);
        return ReadFully(s); 
    }

1 Ответ

1 голос
/ 30 августа 2011

решена !!

var e = new ImageTools.IO.Jpeg.JpegEncoder();
var s = new MemoryStream(); e.Quality = 90;
e.Encode(newImg,s);
 //var s = newImg.ToStream();
 return s.GetBuffer(); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...