Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Отключение сглаживания растровой графики (http://www.flasher.ru/forum/showthread.php?t=205476)

Hamid 06.12.2013 12:03

Отключение сглаживания растровой графики
 
Добрый день форумчане! Есть один горячий вопрос. Кто знает как отключить сглаживание растровой графики(Когда в плеере стоит качество среднее или высокое)? Просто плеер применяет сглаживание и искажает мои битмапы! Где то читал в справочнике про это, но не могу найти, помогите...

Hauts 06.12.2013 12:13

Bitmap.smoothing — оно?

+ недробные координаты

Hamid 06.12.2013 12:45

Цитата:

Сообщение от Hauts (Сообщение 1154435)
Bitmap.smoothing — оно?

+ недробные координаты

Неа, smoothing - это сглаживание растра при растягивании, и к тому же оно по умолчанию отключено, все гораздо хитрее)) Вот вспомнить бы где.. А по поводу дробных координат, тоже не спасает. Просто когда качество плеера на среднем или высоком идет сглаживание.

Вот что говорит справочник:

Значение класса StageQuality, определяющее, какое качество визуализации следует применять. Ниже приводятся допустимые значения.

StageQuality.LOW — низкое качество визуализации. Графические объекты и растровые изображения не сглаживаются, а среда выполнения продолжает использовать множественное отображение.
StageQuality.MEDIUM — среднее качество визуализации. Графические объекты сглаживаются с помощью решетки пикселей 2 на 2, сглаживание растровых изображений зависит от значения параметра Bitmap.smoothing. Среда выполнения использует множественные отображения. Эта установка подходит для роликов, не содержащих текст.
StageQuality.HIGH — высокое качество визуализации. Графические объекты сглаживаются с помощью решетки пикселей 4 на 4, сглаживание растровых изображений зависит от значения параметра Bitmap.smoothing. Среда выполнения использует множественные отображения. Этот параметр качества визуализации используется проигрывателем Flash Player по умолчанию.
StageQuality.BEST — Очень высокое качество визуализации. Графические объекты сглаживаются с помощью решетки пикселей 4 на 4. Если параметр Bitmap.smoothing имеет значение true, то среда выполнения использует высококачественный алгоритм уменьшения размера, который дает меньше помех (в то же время использование StageQuality.BEST с параметром Bitmap.smoothing, равным true, существенно замедляет работу и не рекомендуется).
Более высокие параметры качества обеспечивают более качественную визуализацию масштабированных растровых изображений. Однако это происходит за счет увеличения нагрузки на ресурсы системы. В частности, параметр высокого качества при визуализации масштабированного видео может привести к уменьшению частоты кадров.

Метод BitmapData.draw() использует значение свойства Stage.quality. Или можно использовать метод BitmapData.drawWithQuality(), который позволяет указать параметр quality, игнорируя текущее значение Stage.quality.

Последний абзац вроде то, что нужно, но я никак не пойму как использовать BitmapData.drawWithQuality()?

Wolsh 06.12.2013 14:03

Цитата:

Последний абзац вроде то, что нужно
И как Вам поможет битмапдата без сглаживания, если, по Вашим же словам, сглаживается Битмап? Ваши картинки изначально же тоже "без сглаживания"?
Я подозреваю, что как раз это утверждение не верно. Что Вы используете Flash IDE для встраивания картинок в библиотеку, не отключая им сглаживание, и они сглаживаются еще при компиляции. Потому что когда я создаю в своих проектах битмапдаты и что-то рисую в них, затем отображаю в битмапах, никакого сглаживания нет. Естественно, при условии что масштаб не меняется и координаты целочисленные.

Hamid 06.12.2013 15:42

Цитата:

Сообщение от Wolsh (Сообщение 1154443)
И как Вам поможет битмапдата без сглаживания, если, по Вашим же словам, сглаживается Битмап? Ваши картинки изначально же тоже "без сглаживания"?
Я подозреваю, что как раз это утверждение не верно. Что Вы используете Flash IDE для встраивания картинок в библиотеку, не отключая им сглаживание, и они сглаживаются еще при компиляции. Потому что когда я создаю в своих проектах битмапдаты и что-то рисую в них, затем отображаю в битмапах, никакого сглаживания нет. Естественно, при условии что масштаб не меняется и координаты целочисленные.

Ну так битмап и содержит битмап дату. Картинки изначально без сглаживания(если вы про это http://***********/s2/X4v2mC). Сглаживание которое настраивается там это есть тот самый smoothing, но это не тот параметр. Насчет дробных координат, я точно сказать не могу ибо графика лежит очень далеко(как матрешка). Если графика в дробных параметрах, то срабатывает привязка к пикселам pixelSnapping(если не ошибаюсь). Но это свойство тоже отключено у меня.

Wolsh 06.12.2013 15:46

Цитата:

я точно сказать не могу ибо графика лежит очень далеко
Ну попробуйте потрейсить координаты, переводя их перед этим в глобальные.
И еще — у Вас масштабирование стейджа надеюсь NO_SCALE?

Hamid 06.12.2013 16:02

Цитата:

Сообщение от Wolsh (Сообщение 1154451)
Ну попробуйте потрейсить координаты, переводя их перед этим в глобальные.
И еще — у Вас масштабирование стейджа надеюсь NO_SCALE?

Что то ссылку по человечески не могу вставить. Вы правы(как и Hauts), координаты действительно дробные оказались. Тогда такой вопрос, в проекте уже много графики и я так предполагаю, что много графики лежит в вещественных координатах. Есть ли вариант как то глобально плееру не разрешать выставлять вещественные размеры и координаты? Или вариант на глобальном уровне отрубить привязку к соседним пикселям? Да, экран в режиме не масштабировать.

silin 06.12.2013 16:14

Bimap.pixelSnapping попробуйте в "always" выставить

Hamid 06.12.2013 16:37

Цитата:

Сообщение от silin (Сообщение 1154453)
Bimap.pixelSnapping попробуйте в "always" выставить

Вы имеете в виду под Bimap мою графику? Если так, то пробовал, не помогает. Пока нашел только способ всю графику ставить в целые координаты, возможно у stage есть какие то настройки или в какой либо библиотеке system или flash.display, позже надо будет поискать, не может быть что бы такие параметры никак не настраивались глобально.


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

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