Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.11.2009, 16:06
xpymbl4 вне форума Посмотреть профиль Отправить личное сообщение для xpymbl4 Найти все сообщения от xpymbl4
  № 1  
Ответить с цитированием
xpymbl4
 
Аватар для xpymbl4

Регистрация: Jul 2008
Адрес: Smolensk
Сообщений: 124
Отправить сообщение для xpymbl4 с помощью ICQ Отправить сообщение для xpymbl4 с помощью Skype™
Question Плохое качество изображения, сохраненного через BitmapData

Использую com.adobe.images.JPGEncoder:
Код AS3:
var jpgSource:BitmapData = new BitmapData (mcForBitmap.width, mcForBitmap.height);
jpgSource.draw(mcForBitmap);
var jpgEncoder:JPGEncoder = new JPGEncoder(300);
var jpgStream:ByteArray = jpgEncoder.encode(jpgSource);
_fileContentType = 'image/jpg';
Далее, jpgStream пересылаю на сервер, используя готовый MultipartURLLoader.
Качество изображения моего mcForBitmap на сервере оказывается просто ужасным

mcForBitmap - много флешевого вектора.
Пробывал подгружать png изображения и извлекать ByteArray без использования BitmapData (качество отличное - все как есть):
Код AS3:
var jpgStream:ByteArray = event.currentTarget.data as ByteArray;
 _fileContentType = event.currentTarget.contentType;
При использовании PNGEncoder качество такое же ужасное как и с JPGEncoder.
Неужели BitmapData так портит картинку? Есть способ решить проблему? Заранее спасибо.
__________________
круглое тащим, квадратное катим

Старый 24.11.2009, 16:17
Партизан вне форума Посмотреть профиль Отправить личное сообщение для Партизан Найти все сообщения от Партизан
  № 2  
Ответить с цитированием
Партизан
 
Аватар для Партизан

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Попробуйте так:
Код AS3:
var jpgSource:BitmapData = new BitmapData (mcForBitmap.width, mcForBitmap.height);
jpgSource.draw(mcForBitmap);
var jpgEncoder:JPGEncoder = new JPGEncoder(80);
var jpgStream:ByteArray = jpgEncoder.encode(jpgSource);
_fileContentType = 'image/jpg';

Старый 24.11.2009, 16:37
xpymbl4 вне форума Посмотреть профиль Отправить личное сообщение для xpymbl4 Найти все сообщения от xpymbl4
  № 3  
Ответить с цитированием
xpymbl4
 
Аватар для xpymbl4

Регистрация: Jul 2008
Адрес: Smolensk
Сообщений: 124
Отправить сообщение для xpymbl4 с помощью ICQ Отправить сообщение для xpymbl4 с помощью Skype™
Это без разницы... там в исходниках:
Код AS3:
public function JPGEncoder(quality:Number = 50)
{
    if (quality <= 0) {
        quality = 1;
    }
    if (quality > 100) {
        quality = 100;
    }
...
__________________
круглое тащим, квадратное катим

Старый 24.11.2009, 19:13
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 4  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
И что такого вы нашли в этом куске исходника? Значение по-умолчанию?

Старый 24.11.2009, 19:31
xpymbl4 вне форума Посмотреть профиль Отправить личное сообщение для xpymbl4 Найти все сообщения от xpymbl4
  № 5  
Ответить с цитированием
xpymbl4
 
Аватар для xpymbl4

Регистрация: Jul 2008
Адрес: Smolensk
Сообщений: 124
Отправить сообщение для xpymbl4 с помощью ICQ Отправить сообщение для xpymbl4 с помощью Skype™
к сожалению, поэкспериментировав с quality (качеством), удовлетворительных результатов не получил.. почти одинаково плохо с 50, 80, 100.
__________________
круглое тащим, квадратное катим

Старый 04.07.2011, 17:13
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 6  
Ответить с цитированием
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
Столкнулся с такой же проблемой... При рисовании больших объектов на битмап дате - всё становится каким то размытым...
Не нашли решение?

Старый 04.07.2011, 18:50
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 7  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
У топикстартера траблы были, действительно, не с кодировщиком а с draw()-ом, кажется. Потому, что драв рисует символы так как они содержатся в библиотеке а не выглядят на сцене.

А у вас, похоже, проблемы не с битмапдатой, а с отрисовкой битмапдаты в битмапе, что то, возможно, связанное с масштабированием, может быть матрицей... Что то такое, мне кажется.

Старый 04.07.2011, 21:14
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 8  
Ответить с цитированием
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
Да не на самом деле вся проблема оказалось в том, что при масштабировании самого Bitmap'а (точнее при отображении битмапа на сцене) флэш юзает какой то левый алгоритм интерполяции... Всё получается смазанным... Сейчас пытаюсь прикручивать билейную интерполяцию (к ж*пе ручку.... )

Добавлено через 2 часа 12 минут
загуглив, нашёл такую тему
http://www.clevr.com/blog/2008/resiz...interpolation/
https://github.com/ascorbic/clevrlib/

респектище автору либы!!!))

Создать новую тему Ответ Часовой пояс GMT +4, время: 04:29.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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