Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   из под flash качество изображения отличное, через браузер нет (http://www.flasher.ru/forum/showthread.php?t=148647)

Zhit-Ton 07.01.2011 18:30

stage.quality = "best" - выставляется при инициализации приложения:
addEventListener(Event.ADDED_TO_STAGE, init)

такое чувство что через браузер не срабатывает эта вещь.. Debug плеер ошибок не выдает никаких..

Работает так:
Человек выбрал изображение - оно если нужно сразу ресайзится. Потом когда человек нажимает отправить - изображение отправляется.

Я заметил что если изображение не ресайзится - то оно приходит в таком же качестве как оригинал (в отличном)

Значит проблема в функции ресайзинга.., если не сложно натолкните на мысль..:

Код AS1/AS2:

                private function _onImagePrepare ( evt : Event ) : void{
                        var jpgEncoder:JPGEncoder = new JPGEncoder(100);
                        var bitMap = Bitmap(evt.target.content);
                        bitMap.smoothing = true;
                        var bitmapData:BitmapData = bitMap.bitmapData;
                        var coefW                :Number = _MAX_WIDTH / bitmapData.width;                       
                        var coefH                :Number = _MAX_HEIGHT / bitmapData.height;
                        var multiplier        :Number;       
 
                        if (coefW > coefH)       
                                { multiplier = coefH; }  // если фотка горизонтальная
                        else
                                { multiplier = coefW; }        // если вертикальная или квдарат)
 
                        var mtrx:Matrix = new Matrix();
                        mtrx.createBox(multiplier, multiplier, 0, 0, 0);
 
 
                        var bmd:BitmapData=new BitmapData(multiplier * bitmapData.width, multiplier * bitmapData.heighttrue, 0xFFFFFF);
 
                        bmd.draw(bitmapData, mtrx, null, null, null, true);
                        picture = jpgEncoder.encode(bmd);
                }

Добавлено через 22 часа 14 минут
Я нашел проблему - почему то smoothig во флеше отрабатывает - а через браузер нет - почему это может быть?



я нашел проблему..

не хочу быть похожим на остальных - и напишу в чем дело - может кому в будущем поможет

итак - уменьшение коряво работает в браузерах потому что я уменьшал большую картинку (1400 на 1200) до 80 на 65 - и уменьшал сразу..

так вот уменьшайте изображения с помощью матрицы где коеффициент не менее 0.5 (чем выше коефициент тем меньше потеря качества) - то есть уменьшайте в несколько этапов..

ну вот и всё:)


Часовой пояс GMT +4, время: 04:45.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.