Заливаем бокс градиентом.... - Разработка ПО для Point Blank - Бюро разработчиков Zhyk.Ru: создание чит-программ и прочего ПО для Point Blank
03.12.2012, 13:13
#1
Старший сержант
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
Заливаем бокс градиентом....
Результат:
[
Ссылки могут видеть только зарегистрированные пользователи. ]
Код:
void Grad_Box(int x, int y, int h, int w, DWORD Color_1, DWORD Color_2,LPDIRECT3DDEVICE9 pDevice)
{
float aPer,rPer,gPer,bPer;
DWORD Colorit;
DWORD a_1 = (Color_1>>24)&0xFF;
DWORD r_1 = (Color_1>>16)&0xFF;
DWORD g_1 = (Color_1>>8) &0xFF;
DWORD b_1 = Color_1 &0xFF;
DWORD a_2 = (Color_2>>24)&0xFF;
DWORD r_2 = (Color_2>>16)&0xFF;
DWORD g_2 = (Color_2>>8) &0xFF;
DWORD b_2 = Color_2 &0xFF;
aPer = ((float)a_2-(float)a_1)/h;
rPer = ((float)r_2-(float)r_1)/h;
gPer = ((float)g_2-(int) g_1)/h;
bPer = ((float)b_2-(float)b_1)/h;
for(int i = 0;i<h;i++){
Colorit = (a_1+(int)(aPer*i) << 24)
| (r_1+(int)(rPer*i) << 16)
| (g_1+(int)(gPer*i) << 8)
| (b_1+(int)(bPer*i));
DrawBox(x,y+i,w,1,Colorit, pDevice);
}
}
Используем так:
Код:
Grad_Box(X, Y, Ширина, Высота, Верхний_Цвет,Нижний_Цвет,pDevice);
Чтобы заливать по горизонтальному направлению
[
Ссылки могут видеть только зарегистрированные пользователи. ]
изменяем код на это:
Код:
aPer = ((float)a_2-(float)a_1)/w;
rPer = ((float)r_2-(float)r_1)/w;
gPer = ((float)g_2-(int)g_1)/w;
bPer = ((float)b_2-(float)b_1)/w;
for(int i = 0;i<w;i++){
Colorit = (a_1+(int)(aPer*i) << 24)
| (r_1+(int)(rPer*i) << 16)
| (g_1+(int)(gPer*i) << 8)
| (b_1+(int)(bPer*i));
DrawBox(x+i,y,1,h,Colorit, pDevice);
}
________________
-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
5 пользователя(ей) сказали cпасибо:
03.12.2012, 22:44
#2
Старший сержант
Регистрация: 18.02.2011
Сообщений: 232
Популярность: 8824
Сказал(а) спасибо: 43
Поблагодарили 801 раз(а) в 240 сообщениях
Re: Заливаем бокс градиентом....
Ой божечки... Сколько фпс отъест пара таких боксов? Хотя так молодец, идея отлична, но лучше как-нибудь по другому реализовывать.
з.ы. ты хоть сам с первого раза понял как работают эти битовые операции? хардкорно написано..
Последний раз редактировалось slava-zis; 03.12.2012 в 22:47 .
03.12.2012, 22:58
#3
Старший сержант
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
Re: Заливаем бокс градиентом....
________________
-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
07.12.2012, 13:28
#4
Пехотинец
Регистрация: 11.01.2012
Сообщений: 84
Популярность: 3472
Сказал(а) спасибо: 97
Поблагодарили 182 раз(а) в 97 сообщениях
Re: Заливаем бокс градиентом....
Фу... Цикл for градиент по линии отрисовывает что ли?
09.12.2012, 16:55
#5
Сержант
Регистрация: 02.12.2011
Сообщений: 102
Популярность: 18248
Золото Zhyk.Ru: 25
Сказал(а) спасибо: 611
Поблагодарили 457 раз(а) в 285 сообщениях
Re: Заливаем бокс градиентом....
Цитата:
Фу... Цикл for градиент по линии отрисовывает что ли?
А чем плох такой метод?
________________
offline user
09.12.2012, 17:17
#6
Старший сержант
Регистрация: 18.02.2011
Сообщений: 232
Популярность: 8824
Сказал(а) спасибо: 43
Поблагодарили 801 раз(а) в 240 сообщениях
Re: Заливаем бокс градиентом....
09.12.2012, 23:27
#7
Разведчик
Регистрация: 22.02.2012
Сообщений: 49
Популярность: 2418
Сказал(а) спасибо: 123
Поблагодарили 79 раз(а) в 56 сообщениях
Re: Заливаем бокс градиентом....
дык скажи как по другому,а то в голову не лезет нечего
идеи исчерпаны ,фантазия R.I.P
________________
Украина не победима...
Кто имел дело с ring0 пишите в лс...
10.12.2012, 11:24
#8
Разведчик
Регистрация: 04.05.2012
Сообщений: 18
Популярность: 805
Сказал(а) спасибо: 24
Поблагодарили 25 раз(а) в 18 сообщениях
Re: Заливаем бокс градиентом....
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 10:15 .