Эффект подсветки

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Эффект подсветки

Сообщение |kerish| » 19.01.2007 (Пт) 18:46

Задача сделать кнопки при наведении, на которые, они плавно подсвечиваются. (Например, как в новой Opera)

Полагаю, что делать это нужно циклически отрисовывая кнопку с увеличением яркости.

Так вот мой вопрос состоит в том, какая функция может отрисовывать изображение, увеличивая его яркость?

miwutka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 76
Зарегистрирован: 10.11.2005 (Чт) 16:34
Откуда: Moscow, Elektrostal

Сообщение miwutka » 19.01.2007 (Пт) 18:56

самое примитивное - взять несколько рисунков для одной кнопки разной яркости и накладывать их одна на другую =)
... я расправляю крылья ...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.01.2007 (Пт) 19:34

GDI+ позволяет всякие разные эффекты делать...
Изображение

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 19.01.2007 (Пт) 19:58

FCOL.dll, там есть функция яркости :)
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 20.01.2007 (Сб) 15:01

miwutka Неизвестно, какие рисунки будут на кнопках => этот вариант отпадает.

tyomitch, BV Спасибо, теперь знаю, где рыть.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 20.01.2007 (Сб) 15:04

FoxCBmp - тоже вариант. Лучше изменять не яркость, а делать альфаблендинг от чёрнобелой до цветной.

Кстати альфаблендинг можно сделать юзая стандартный msimg32
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 20.01.2007 (Сб) 15:25

Хакер Идея хорошая, но изначально кнопки уже должны быть цветными...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 20.01.2007 (Сб) 15:29

Но всё равно.
http://bbs.vbstreets.ru/download.php?id=4386

ЗЫ. У библы много функций но в примере показано только 3.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 21.01.2007 (Вс) 18:47

При реализации эффекта подсветки возник еще один вопрос:

Кнопки по форме - круглые.
Могут ли приведенные здесь способы увеличивать яркость, обрезая контур, то есть, чтобы подсвечивалась именно круглая кнопка, а не всё её прямоугольное изоображение?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 21.01.2007 (Вс) 18:51

Хакер писал(а):Но всё равно.
http://bbs.vbstreets.ru/download.php?id=4386

ЗЫ. У библы много функций но в примере показано только 3.


Блендинг белого силуэта на некое изображение ведёт к увеличению яркости последнего.

Предложенная мною библа умеет делать блендинг с маской.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 21.01.2007 (Вс) 19:03

Хакер Спасибо, дружище! Действительно, как это я сам не додумался :(

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.01.2007 (Пн) 15:49

И что, вам радостнее юзать совсем левую библиотеку, чем предустановленную на WinXP и выше? :roll:

Это особенно относится к BV, который основным недостатком GDI+ считал то, что её нет на Win98. Неужели FCOL там есть? :roll:
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 110

    TopList