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

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

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

Регистрация: Apr 2010
Сообщений: 2
Question Проблема со сглаживанием прямых

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

Название: Spiro.jpg
Просмотров: 430

Размер: 129.7 Кб

Код AS3:
var temp:Sprite = new Sprite();
var xP:Number;
var yP:Number;
var g:Graphics = temp.graphics;
temp.x = stage.stageWidth / 2;
temp.y = stage.stageHeight / 2;
g.lineStyle(1,0,1);
 
for(var phi:Number = -Math.PI/2; phi <= Math.PI/2;phi += 0.1)
{
   g.moveTo(0,0);
   xP=200*Math.cos(phi);
   yP=200*Math.sin(phi);
   g.lineTo(xP,yP);
}
 
addChild(temp);
Так вот, у меня такой вопрос: может кто-нибудь знает какой алгоритм рисования сглаженной прямой используется в Canvas (JS) и существуют ли готовые реализации для рисования во Flash на Bitmap как на Canvas в HTML.

P.S. Сразу скажу, что способ рисовать вместо прямых прямоугольники с заливкой без контура мне не подходит. Используя его не получается добиться того же эффекта, что и на JS, к тому же такой способ замедляет отрисовку и анимацию. Хотя для меня основная проблема именно в качестве полученного рисунка.

Старый 04.04.2010, 17:40
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 2  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
пиар новой JS-либы очевиден, но flash действительно рисует криворуко =)
__________________
Поймай яблоко 2!

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

Регистрация: Jun 2007
Адрес: Челябинск
Сообщений: 303
Отправить сообщение для dmitriev с помощью ICQ
А если
Код AS3:
pixelHinting = true;
?
__________________
O God! The Aftermath.

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

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
а если
Код AS3:
stage.quality = StageQuality.MEDIUM?

Старый 05.04.2010, 14:44
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 5  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Все равно фигня будет... а вот в браузере опера будет получше выглядеть, а в интернет эксплоера похуже, а в 10.1 плеере вообще фигня, и прикол в 10.1
http://8bitboy.popforge.de/ закрывает браузер с ошибкой, эт я к тому, что не забивайте голову... В следующих релиза FP пофиксят, главное верить.
__________________
Гоночка


Последний раз редактировалось Alex Lexcuk; 05.04.2010 в 15:10.
Старый 05.04.2010, 20:37
Paul21 вне форума Посмотреть профиль Отправить личное сообщение для Paul21 Найти все сообщения от Paul21
  № 6  
Ответить с цитированием
Paul21

Регистрация: Apr 2010
Сообщений: 2
Остаются следующие варианты:
  1. Самому написать алгоритм растеризации и использовать bitmapdata. Правда, ничего лучше, чем алгоритм Ву я не нашел
  2. Использовать вместо FP какой-нибудь другой плеер, с другими методами сглаживания. Например, есть какой-то Gnash с возможностью использовать AGG правда пока я даже не разобрался как его запускать .
    Но сглаживание, какое дает Anti-Grain Geometry впечатляет. Интересно, какая будет скорость анимации если использовать эту тулзу.
  3. Как сказал Alex Lexcuk, ждать лучших времен. Тем более, что уже в этом месяце выйдет CS5.
  4. Использовать для создания анимации не Flash.
    Вообще я хочу сделать программу для рисования различного рода эпициклоид, циклоид и т.д., что-то вроде спирографа. Пример такого есть на сайте Benjamin Joffe. Хотя там он как-раз и использует Canvas (JS). Я же хочу, чтобы оформление было в таком же стиле как флэш-сайт www.myoats.com, и при этом можно бы было использовать несколько слоев для рисования, возможность анимации и пр. Поэтому решил использовать флэш. И только когда уже практически сделал основу обратил внимание на сколько хуже рисует flash по сравнению с JS . Потом понял в чем причина и задал здесь вопрос. Вобщем теперь не знаю, что и делать. Не хотелось бы бросать начатое, но и завершать то что есть, с осознанием что можно было бы сделать и лучше, тоже. Может посоветуете на чем точно можно сделать подобную вещь, чтобы потом не было такого же облома.

Старый 05.04.2010, 20:42
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 7  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Алогритм Брезенхейма например, BitmapData и вперёд )

Старый 05.04.2010, 22:27
favzcu вне форума Посмотреть профиль Отправить личное сообщение для favzcu Найти все сообщения от favzcu
  № 8  
Ответить с цитированием
favzcu

Регистрация: Mar 2010
Сообщений: 3
Попробуйте вот это: http://www.bytearray.org/?p=67
Вот демо: http://www.didierbrun.com/foxaweb/de...erapi/demo.swf

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

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

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


 


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


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