Сглаживание растровых изображений, Adobe Flash, ActionScript 3.0 и просто Flash

Никогда не задумывался о пользе сглаживания и даже не знал, как сглаживание растровых изображений задаётся в редакторе Adobe Flash. Всегда считал (и считаю), что Flash и растр - это из параллельных вселенных. Но, в силу необходимости (т. е. по принуждению), приходится использовать растр в flash-приложениях. И тут возникают проблемы, особенно если растр приходится масштабировать. Долго объяснять. Гораздо проще показать на примере:

В приведённом выше примере есть две картинки (в формате PNG), которые плавно увеличиваются при наведении курсора мышки. Но, если вы не слепой, то легко заметите, как изменяется качество картинок при увеличении размеров. Особенно, в уголках. Согласитесь, это совсем не радует глаз.

Давайте попытаемся ЭТО исправить.

Для начала, вручную, в редакторе Adobe Flash (я буду использовать Adobe Flash CS6).

Открываем библиотеку проекта и находим там первую картинку. Правым кликом мышки вызываем контекстное меню:

Сглаживание растровых изображений в Adobe Flash

В контекстном меню выбираем пункт Свойства... Открывается окошко Свойства растрового изображения:

Сглаживание растровых изображений в Adobe Flash

В этом окошке нас интересует первая вкладка - Параметры. Ставим галочку у Разрешить сглаживание, а в выпадающем списке выбираем качество сжатия. Сжатие JPEG может сэкономить вам заветные килобайты, но без сжатия вы получите более качественную картинку. Выбирайте в зависимости от ваших текущих приоритетов.

Жмём кнопку OK и смотрим результат:

К левой картинке мы применили сглаживание, а правую оставили без изменений. Наведите курсор на каждую из картинок.

Как вам результат?

Согласитесь, что левая картинка даже после масштабирования смотрится гораздо симпатичнее, чем правая. Согласен, не идеально. Но это лучше, чем было до сглаживания...

Итак, мы теперь умеем вручную настраивать сглаживание у растровых изображений в наших флеш-проектах.

Но как быть, если сглаживание надо настроить не вручную, а через ActionScript (точнее, через ActionScript 3.0).

Для начала, нам надо создать картинку, которую мы будем использовать в коде. Опять идём в библиотеку проекта и вызываем контекстное меню растрового изображения. Выбираем пункт Свойства и открывается уже знакомое нам окно Свойства растрового изображения. Но на этот раз нас интересует вкладка ActionScript. Ставим галочку у пункта Экспортировать для ActionScript и в качестве имени класса вводим MyBitmapData:

Сглаживание растровых изображений в Adobe Flash

А теперь пишем код...

Код ActionScript 3.0:

var myBitmapData:MyBitmapData = new MyBitmapData(); var bitmap:Bitmap = new Bitmap(myBitmapData); addChild(bitmap); bitmap.x = 20; bitmap.y = 20; bitmap.scaleX = bitmap.scaleY = 2;

Результат:

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

Некрасиво, правда?

Давайте поправим.

Код ActionScript 3.0:

var myBitmapData:MyBitmapData = new MyBitmapData(); var bitmap:Bitmap = new Bitmap(myBitmapData); bitmap.smoothing = true; addChild(bitmap); bitmap.x = 20; bitmap.y = 20; bitmap.scaleX = bitmap.scaleY = 2;

или так...

Код ActionScript 3.0:

var myBitmapData:MyBitmapData = new MyBitmapData(); var bitmap:Bitmap = new Bitmap(myBitmapData, "auto", true); addChild(bitmap); bitmap.x = 20; bitmap.y = 20; bitmap.scaleX = bitmap.scaleY = 2;

И в первом, и во втором случае мы устанавливаем сглаживание. Но в первом случае мы это делаем через свойство smoothing, а во втором - через третий параметр конструктора Bitmap.

Результат:

Что хотели, то и получили :-)

И на сегодня у меня всё. Спасибо за внимание.

Автор: admin

Дата добавления: 2015-01-07

Просмотров: 7581

Рейтинг поста: +4-

Правила перепечатки

Социальные закладки:
Комментарии:
К данной заметке комментариев пока нет. Ваш комментарий может стать первым.
Добавить комментарий:







[ + ] помощь по форматирование текста

Идиот-тест

Если все обязательные поля (отмечены * ) заполнены необходимой информацией, то нажимаем кнопку Добавить комментарий.

Меню
Подписка
Рубрики
Метки
Последние комментарии
Рейтинг постов
Реклама
Друзья
География гостей
Статистика
Яндекс.Метрика