![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2005
Сообщений: 30
|
Цитата:
Кстати проводи еще несколько тестирований. Жёстко пробил в опциях видеокарты максимальный Antialiasing и Anisotropic filtering. Так вот эти края стали ощутимо сглаженей но всёравно заметно. И еще кое что интересное. В результате тестирований у меня получились очень сильные тормоза и я увидел как Flash рисует градиенты. Очень забавно. Сначала появляется цельная область закрашенная средним цветом между крайними. Далее она разбивается на 2. Там этот процесс повторяется для новых 2 областей. Очень забавно выглядело. Этакий такой переход от целого цвета к ребристому переходящему в градиент. На сколько я понимаю по этому в Flash эти границы и видны лучше чем в Photoshop. Вообще то меня бы не сильно беспокоило то что он такой. Можно подобрать такие цвета что это не будет заметно. Но дело в том что это делается динамически. Есть один цвет. Из него получаю 2 цвета. Один потемнее другой посветлее. Это и есть градиент. Причем далее это дело анимируется так что эта рамка плавно всплывает. В результате во время анимации эти рёбра видны намного лучше Позже я сделаю пример того о чем говорю что бы народ потестил у кого как это выглядеть. |
|
|||||
|
[+ 1.3 25.06.06]
[+1 25.06.06] Регистрация: Jan 2006
Сообщений: 144
|
Старый боян...
Эти линии видны даже на мониторов от маков, сам проверял. Если бесит то юзайте ЭЛТ, которых в москве жутко мало.
__________________
Что за опен соурс без водки? |
|
|||||
|
Регистрация: Apr 2006
Сообщений: 36
|
Люди реально правы. Это фишка LCD - неравномерные полутона. На самом деле градиенты рисуются правильно, и вопрос лишь в мониторе на котором просматривается проект.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
akerka, если бы это были особенности LCD, то, если я сделаю скриншот и увеличу полученную картинку — я бы не увидел в тех же местах границ переходов. А я их вижу в тех же местах, что и при обычном просмотре — отсюда вывод, что монитор тут непричем.
|
|
|||||
|
Регистрация: Sep 2005
Сообщений: 30
|
Цитата:
![]() |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 30
|
import flash.geom.Matrix;
_root.NewTurn = function() {
_root.d = 1;
_root.createEmptyMovieClip("Fon", 0);
_root.createEmptyMovieClip("fore", 1);
col1 = random(255);
col1 += random(255) << 8;
col1 += random(255) << 16;
col2 = random(255);
col2 += random(255) << 8;
col2 += random(255) << 16;
Pad = 80;
width = 800;
height = 600;
var Ramka:MovieClip = _root.Fon;
Ramka._x = 0;
Ramka._y = 0;
Ramka.clear();
Ramka.lineStyle(0, 0, 0);
matrix = new Matrix();
matrix.createGradientBox(width, height, Math.PI/4, 0, 0);
Ramka.beginGradientFill("linear", [col1, col2], [100, 100], [0, 255], matrix);
Ramka.moveTo(Pad, 0);
Ramka.lineTo(width, 0);
Ramka.lineTo(width, height-Pad);
Ramka.curveTo(width, height, width-Pad, height);
Ramka.lineTo(0, height);
Ramka.lineTo(0, Pad);
Ramka.curveTo(0, 0, Pad, 0);
Ramka.endFill();
var Ramka:MovieClip = _root.fore;
Ramka._alpha = 0;
Ramka._x = 50;
Ramka._y = 50;
width = 700;
height = 500;
col1 = random(255);
col1 += random(255) << 8;
col1 += random(255) << 16;
col2 = random(255);
col2 += random(255) << 8;
col2 += random(255) << 16;
Ramka.clear();
Ramka.lineStyle(0, 0, 0);
matrix = new Matrix();
matrix.createGradientBox(width, height, Math.PI/4, 0, 0);
Ramka.beginGradientFill("linear", [col1, col2], [100, 100], [0, 255], matrix);
Ramka.moveTo(Pad, 0);
Ramka.lineTo(width, 0);
Ramka.lineTo(width, height-Pad);
Ramka.curveTo(width, height, width-Pad, height);
Ramka.lineTo(0, height);
Ramka.lineTo(0, Pad);
Ramka.curveTo(0, 0, Pad, 0);
Ramka.endFill();
};
_root.onEnterFrame = function() {
_root.fore._alpha += _root.d;
if ((_root.d>0) and (_root.fore._alpha>=100)) {
_root.d = -1;
}
if ((_root.d<0) and (_root.fore._alpha<=0)) {
_root.NewTurn();
}
};
_root.NewTurn();
![]() Пожалуйста ваши мнения. Как не рябит? Если вдруг у кого то не рябит то заодно напишите характеристики машины. Процессор, виде карта, монитор. Включены-ли какие то спец опции вроде antialiasing. Всем спасибо за мнения и тп. Последний раз редактировалось wonderwhy; 04.12.2006 в 21:10. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
wonderwhy, http://www.flasher.ru/forum/showthread.php?t=79864 читаем 6-ой пункт и переписываем код.
|
|
|||||
|
Регистрация: Sep 2005
Сообщений: 30
|
Цитата:
Я просто на эту тему хотел бы пару вопросов задать. Давно уже любопытно но пока так и не нашел ответов. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
import flash.geom.Matrix;
function drawBox (mc:MovieClip, w:Number, h:Number, pad:Number, col1:Number, col2:Number):Void {
mc.clear ();
var matrix:Matrix = new Matrix ();
matrix.createGradientBox (w, h, Math.PI / 4, 0, 0);
mc.beginGradientFill ("linear", [col1, col2], [100, 100], [0, 255], matrix);
mc.moveTo (pad, 0);
mc.lineTo (w, 0);
mc.lineTo (w, h - pad);
mc.curveTo (w, h, w - pad, h);
mc.lineTo (0, h);
mc.lineTo (0, pad);
mc.curveTo (0, 0, pad, 0);
mc.endFill ();
}
this.createEmptyMovieClip ("mc0", 0);
this.createEmptyMovieClip ("mc1", 1);
mc0._x = mc0._y = 0;
mc1._x = mc1._y = 50;
mc1._alpha = 0;
this.newTurn = function () {
this.d = 1;
drawBox (mc0, 800, 600, 80, random (0xFFFFFF), random (0xFFFFFF));
drawBox (mc1, 700, 500, 80, random (0xFFFFFF), random (0xFFFFFF));
};
this.onEnterFrame = function () {
this.mc1._alpha += this.d;
if (this.mc1._alpha >= 100) {
this.d = -1;
} else if (this.mc1._alpha <= 0) {
this.newTurn ();
}
};
this.newTurn ();
Закомментарьте первый вызов drawBox внутри newTurn (и Math.PI / 4 смените пока на ноль, чтобы голову на 45 градусов не наклонять ). Теперь смотрите как меняется градиент на однородном фоне. Меняя альфу, вы сужаете цветовой диапазон, но размеры области заливки при этом не меняются. И чем меньше альфа, тем большая ширина в пикселях приходится на один цвет, но ширина для каждого цвета одинаковая.Теперь убираем коммент и запускаем еще раз. Теперь у нас градинет начинает суммироваться с другим (из-за альфы), но ширина для каждого цвета разная. И меняя альфу ширина опять меняется, но не равномерно. Я сделал семпл. Это увеличенная область одного куска в середины градиента, цвета случаные. Верхная часть (A), это альфа с значением 50, нижняя (B) - это альфа с значением 51 (на самом деле 50.78125). Как видно, в одной и той же общей области, при разных значениях альфа, ширина подобластей с одним цветом совершенно разная. |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 30
|
Хек совсем малёк сократил. В принципе поправить это средствами Flash нельзя но тут некоторые утверждали что у них не видно полосок или почти не видно. Мне вот любопытно есть ли сейчас кто-то у кого не видно полосок даже с переходами. Просто если есть какие то видео карты или мониторы которые это могут сгладить то я бы хотел знать какие. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|