Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 13.12.2007, 12:04   #1
kyb66
Оператор ЭВМ
 
Регистрация: 27.11.2007
Сообщений: 19
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Формула Градиента

Для градиента использую формулу, любезно предоставленную Odd

Procedure Gradient(h_i, w_i : Integer);
Var
i : integer;
begin
for i:= h_i downto 0 do
begin
SetColor((128 * i) / h_i, (128 * i) / h_i, (128 * i) / h_i);
DrawLine(0,h_i-i,w_i,h_i-i);
end;
end;

Однако на эмуляторе градиент получается гладкий, а на теле - явно проявляются полосы. В чем дело?
(Offline)
 
Ответить с цитированием
Старый 13.12.2007, 12:38   #2
Данил
Модератор
 
Аватар для Данил
 
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений
(для 1,694 пользователей)
Re: Формула Градиента

гы) мож цветов мало?)
(Offline)
 
Ответить с цитированием
Старый 13.12.2007, 15:00   #3
Kurdt
ПроЭктировщик
 
Регистрация: 28.03.2007
Сообщений: 194
Написано 7 полезных сообщений
(для 25 пользователей)
Re: Формула Градиента

бери шаг большетоже такое было вроде это от телефона зависит так и не разобрался чего так цветов вроде МНОГО в теле было

Перестань использовать скрытый мат. Есть нормальный язык.
(Offline)
 
Ответить с цитированием
Старый 13.12.2007, 15:30   #4
kyb66
Оператор ЭВМ
 
Регистрация: 27.11.2007
Сообщений: 19
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Формула Градиента

Шаг больше в чем? В каком месте цикла? Тело SE K750i Цветов 256 тышщ
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 08:46   #5
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Re: Формула Градиента

Да просто в теле цветов меньше. Вот и всё. Поэтому полосы и получаются.
Количество цветов и альфа-уровней можно узнать с помощью методов
.numColors() и .numAlphaLevels() класса display. Придётся библиотеку писать...
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 14:19   #6
Kurdt
ПроЭктировщик
 
Регистрация: 28.03.2007
Сообщений: 194
Написано 7 полезных сообщений
(для 25 пользователей)
Re: Формула Градиента

еще способ попробуй как вариант сделать не переход одного цвета а например сразу всех смешивание
я не пробовал вроде работало... не помню точно
вот приколная градиентная рамочка кому мож пригодитца
Procedure ramka(tp:integer);
Var i:integer;
Begin
for i:= 0 to 4 do begin

if tp = 0 then setcolor(190+i*10,190-i*10,i*5+55);
if tp = 1 then setcolor(110-i*20,110-i*20,110-i*20);

DrawRect(i,i,getWidth-5,getHeight-5);
			end;

end;
вот градиеные эфекты заполнения екрана типа финиш старт.. тп
procedure coolClear(tp:integer);
Var i,j,w,h:integer;
	jm:real;
begin
//setcolor(random(255),random(255),random(255));
setcolor(0,0,0);
jm:=254/(getHeight/2);
For i:= 0 to getHeight/2 do begin
//setcolor(50+i*2,50+i*2,50+i*2);
if (tp=1)or(tp=3) then setcolor(trunc(i*jm),trunc(i*jm),trunc(i*jm));
DrawRect(i,i,getWidth-i*2,getHeight-i*2);
//DrawEllipse(0,0,i,i);
if tp<>3 then if Odd(i) then repaint;
//delay(10);
end;
end;
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 14:27   #7
kyb66
Оператор ЭВМ
 
Регистрация: 27.11.2007
Сообщений: 19
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Формула Градиента

так это из твоего модуля TextPrint... я уже видал
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ряд Тейлора для Arccos(x) - формула a(N) ViNT Математика 13 08.12.2008 21:12
Формула конопли HolyDel Болтовня 14 05.11.2007 18:14
Формула, нахождения пересечения прямых линий, и их точки пересечения. moka Алгоритмика 3 01.05.2007 00:36


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com