PDA

Просмотр полной версии : Автоматическое сглаживание при конвертации клипа в битмап


orcpochta
27.10.2011, 17:35
(Flash Pro CS5.5)

Как сделать, чтобы при конвертации клипа в битмап (правой кнопкой мыши по клипу - Convert to Bitmap) в свойствах этого новоявленного битмапа галка "Allow smoothing" по умолчанию была выключена? - Бесит))

PsixokoT
28.10.2011, 12:47
можешь написать какой нить простеньки jsfl по типу

var lib = fl.getDocumentDOM().library;
var items = lib.items;

function allowSmoothing(obj)
{
var len = obj.length;

for(var i=0; i<len; i++)
{
if(obj[i].itemType == 'bitmap')
{
obj[i].allowSmoothing = true;
}
}
}

allowSmoothing(items);

orcpochta
28.10.2011, 13:09
Нет, не могу))

Условия не позволяют. Готовлю графику, которая в конечном счете должна быть растром. Процесс такой:
- рисую клипы, применяю всякие фильтры
- клипы конвертирую в битмапы - на этом шаге и кроется подвох: битмап получается гораздо большего размера - вероятно из-за того, что при применении фильтров не отсеиваются пикселы с порогом видимости альфы меньше, чем может узреть человеческий глаз. Т.к. битмапы получаются избыточно большими, то их надо резать. Режутся они с помощью "Break Apart" и дальнейшем отщеплением пустых полей. После чего обрезаный кусок снова конвертится в итоговый битмап. Если проделать эту процедуру не снимая галки сглаживания при первой конвертации (из клипа в битмап), то мы получим сильную потерю качества, когда мы сглаженный битмап разбиваем с помощью BreakApart - при сборе его в битмап он будет учитываться как не сглаженный "чистый" битмап (хотя был сглажен перед разбивкой). Самое смешное, что при обратной сборке обрезанного битмапа, опять применяется сглаживание автоматом и мы имеем уже дважды! запорченный битмап - вот такая паразитная галка, усложняющая жизнь тем, что все время приходится лезть в свойства битмапов и снимать ее вручную - очень раздражает.

Кодом тут, естественно, проблему не решить. Только если изменить подход к подготовке изображений. Впрочем, подход я уже нашел, но хотелось бы не оставлять этот вопрос подвешенным.

PsixokoT
28.10.2011, 13:47
Скрипт который я привел в пример выставляет всем Битмапам в библиотеке галку allowSmoothing в true.

orcpochta
28.10.2011, 13:50
Скрипт который я привел в пример выставляет всем Битмапам в библиотеке галку allowSmoothing в true.

Я умею читать. А вы?

Добавлено через 3 минуты
Мне не нужно изменять сглаживание битмапов в готовой библиотеке - мне нужно убрать сглаживание промежуточных вспомогательных битмапов, которые учавствуют в процессе подготовки графики, но сами в ней не остаются.

Операции со скриптом еще более трудоемки, а самое главное абсолютно бесполезны, в этом случае, чем убирание галки с каждого промежуточного битмапа вручную.

Добавлено через 20 минут
Я умею читать. А вы?

Извините за стиль общения - наследство тяжелого детства на этом форуме и сурового воспитания iNils-ом, набрался от него нетерпимости - стараюсь исправляться)))