| | | |
|
| Форум Delphi: Пример анимированной заставки с альфаканалом |
|
|
Форумы Delphi Пример анимированной заставки с альфаканалом (Всего сообщений: 15) | Страницы: 01 02 |
|
|
1 | #990 | цитата | 02-11-2008 18:26 |
Пример создания заставки (Splash), обычно отображающей долгую загрузку программы, с альфаканалом. Вывод текста, прогресса загрузки, бонус - плавное появление иконок модулей
|
|
|
| |
|
2 | #1051 | цитата | 15-01-2009 13:37 |
Антон, привет.
Наконец дошли руки до разбирательств с твоим творением Надо сделать сплэш, для проекта, который тогда, когда я у тебя просил его реализовать (выше описанный сплэш), был еще только в зачатке. Но вот и до него (сплэша) дошла очередь. И возникли у меня некоторые проблемы, которых, кстати, не было на предыдущей версии (happynewyaer). Не получается у меня сделать фоновую картинку.
Если тебе удобно, можем обсудить это на том форуме, а можем и здесь, как скажешь.
Жду ответа. |
|
| |
|
3 | #1052 | цитата | 15-01-2009 15:51 |
Ладно, начну писать тут.
Это то, что я нарисовал:
450909.png |
|
Это
427357.png |
|
и это
432477.png |
|
то, что выдал альфабилдер при разборе png (масштаб 56%)
Это
419165.png |
|
то, что получилось при помощи предыдущей версии сплэша (happynewyaer_splash). Как видим всё так как мы и ожидали.
Это
410973.png |
|
альфабилдер сделал такой .bmp из .png
И это
408925.png |
|
то, что мы получаем в новой версии сплэша.
Помоги с решением, пожалуйста. |
|
| |
|
4 | #1053 | цитата | 15-01-2009 22:19 |
Прикрепи сюда в архиве первый png, но кажется кальфа не затирается кое где... |
|
| |
|
5 | #1054 | цитата | 15-01-2009 22:43 |
Вот.
|
|
Прикрепленные файлы: |
| Splash.rar - (169.37 Kb) Кол-во скачиваний: 2176 |
|
| |
|
6 | #1055 | цитата | 15-01-2009 23:45 |
Пересобери битмап без галки Lighting
Когда она есть два битмапа просто сливаются вместе. Когда ее нет, то RGB вычисляются так:
delphi | RowOut[x].rgbBlue:=byte(trunc(RowIn[x].rgbtBlue*RowOut[x].rgbReserved/255)); RowOut[x].rgbGreen:=byte(trunc(RowIn[x].rgbtGreen*RowOut[x].rgbReserved/255)); RowOut[x].rgbRed:=byte(trunc(RowIn[x].rgbtRed*RowOut[x].rgbReserved/255)); |
Т.е. в зависимости от альфы видимая сторона темнее. Если просто закрасишь белые области на видимой стороне то результат будет тотже (а без галки оно так и делает, разбери обратно битмап и глянь ).
Updatelayeredwindow() использует неполную формулу блендинга, из-за чего приходится вот так геморроиться. |
|
| |
|
7 | #1056 | цитата | 15-01-2009 23:47 |
я просто не знаю, это правильно или нет, поэтому и вывел опцию, на всякий случай |
|
| |
|
8 | #1057 | цитата | 16-01-2009 00:36 |
Ок, завтра на работе посмотрю. |
|
| |
|
9 | #1058 | цитата | 16-01-2009 08:49 |
Ага, работает. Спасибо |
|
| |
|
10 | #1061 | цитата | 21-01-2009 13:26 |
Привет.
Антон, а что означает эта загадочная закоментированная строка "//p_u.Pack_Memory(_MBi ;" в модуле PackList_Bitmaps? Хотелось бы ея раскоментировать Поделись модулем |
|
| |
Форумы Delphi Пример анимированной заставки с альфаканалом (Всего сообщений: 15) | Страницы: 01 02 |
| Тему просматривают: 2 гостей, 0 пользователей |
|
| Пример анимированной заставки с альфаканалом | Ответов: 15 |
|
|
|
|
Мини-чат :) |
|
|
Статистика |
| Сегодня | Всего |
Посетителей | 4346 | 4254243 |
Запросов | 184669 | 397034978 |
Online |
Пользователей | 0 |
Гостей | 488 |
|
|
|