Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2009, 00:41   #31
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Ну в TImage полупрозрачные иконки работают (только как-то криво загружет картинки больше 255х255)
Ну это уже как бы трудно назвать иконкой, спасибо хоть маленькие нормально выводятся )

Цитата:
а вот в ToolBar'е как раз-таки не получается... =)
В тулбар нужно через TImageList.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 12.09.2009, 02:00   #32
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
Смех

А как же по другому-то?))

С иконками получается не чёрный ореол, а почему-то едко-зелёный.....
Может у меня просто Делфи не правильная...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 12.09.2009, 04:27   #33
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

"Это какие-то неправильные пчелы..." (с)

Смотри проект во вложении, ни одной строки кода. Правда справедливости ради замечу что все же огрехи есть с альфаканалом, это видимо результат конвертации из bmp в ico. С хорошими иконками такого нет.
Вложения
Тип файла: zip Project1.zip (209.1 Кб, 11 просмотров)
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 12.09.2009 в 04:49.
mutabor вне форума Ответить с цитированием
Старый 12.09.2009, 08:00   #34
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

2DomiNick
Код:
Procedure PremultAlpha(b: TBitmap);
Var i: Integer; q: PRGBQuad;
Begin
q:=b.Scanline[b.Height-1];
For i:=0 To b.Height*b.Width-1 Do
      Begin
      q.rgbBlue:=q.rgbBlue*q.rgbReserved shr 8;
      q.rgbGreen:=q.rgbGreen*q.rgbReserved shr 8;
      q.rgbRed:=q.rgbRed*q.rgbReserved shr 8;
      Inc(q);
      End;
End;
Это вообще на кой? Нижние пиксели какими-то другими делает?

+++++++++++++++++++++++++++++
Цитата:
Сообщение от mutabor Посмотреть сообщение
"Это какие-то неправильные пчелы..." (с)

Смотри проект во вложении, ни одной строки кода. Правда справедливости ради замечу что все же огрехи есть с альфаканалом, это видимо результат конвертации из bmp в ico. С хорошими иконками такого нет.
Да точно. Я тоже попробовал. Раком как-то получается


//Видно, что µTorrent умные люди писали.

Последний раз редактировалось Altera; 12.09.2009 в 08:58.
Altera вне форума Ответить с цитированием
Старый 12.09.2009, 13:52   #35
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
Лампочка

Цитата:
Сообщение от Altera Посмотреть сообщение
Это вообще на кой? Нижние пиксели какими-то другими делает?
Так вот же:
Цитата:
Sapersky (09.08.09 18:04) [55]

Обычная формула блендинга:
DstColor = SrcColor * SrcAlpha + DstColor * (1 - SrcAlpha)
Есть во 2-м примере, там сначала блюр, потом блендинг.
AlphaBlend использует такую:
DstColor = SrcColor + DstColor * (1 - SrcAlpha)
(что, кстати, расписано по ссылке http://msdn.microsoft.com/en-us/libr...,printer).aspx , которая приводилась ещё в [22])
С т.з. быстродействия должно быть немного лучше, т.к. экономится одно умножение. Но практически, насколько помню, полная формула через MMX всё равно быстрее.
Соответственно PremultAlpha выполняет операцию:
SrcColor = SrcColor * SrcAlpha
Ну и на практике к формулам добавляется сдвиг вправо (shr 8, 16) - эквивалент div 256, 65536 - чтобы привести результат к диапазону 0..255.
Цитата:
Правда справедливости ради замечу что все же огрехи есть с альфаканалом, это видимо результат конвертации из bmp в ico.
Я про это и говорил...) Только у меня этот ореол почему-то ещё и едко-зелёный... %)

А иконка-то тут не при чём... Кажется он делает не AlphaBlend, а Transparent...
То есть делает как при Image1.Transparent=True...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
uTorrent 1.8.1 Haxxproxx Софт 0 27.07.2009 23:25
Программе некорректно обрабатывает некоторые файлы Shturmer Помощь студентам 8 09.07.2009 20:34
uTorrent - взаимодействие SoulReaver Win Api 1 21.06.2009 20:06
Как нарисовать картинку сбоку в меню как в Punto Switcher Crazyman Win Api 4 26.09.2008 18:13
обновление в блоге - Programmersforum.ru toolbar – тулбар для нашего клуба Pblog Обсуждение статей 0 13.12.2007 20:20