Помощь - Поиск - Пользователи - Календарь
Полная версия: Алгоритмы. Прозрачные картинки
Форум «Всё о Паскале» > Другое > Свободное общение
Altair
Представьте две пленки (полиэтиленовые).
На них рисунок.
Или
Два слайда (пленка) с фото.
Еслиих сложить вметсе, то увидим срезу два рисунка наложенных один на другой.
Как сделать подобное для машинной графики?
Скажем есть 2 рисунка BMP нам надо получить один так что бы на нем было оба (как напленке) полупрозрачных. (не путать с прозрачностью одного цвета).

Я так думаю что для каждого пиксела есть какая-то функция F(g,h), где g- значение пиксела одног ррисунка а h другого ...
FreeMan
Нам в институте говорили, что с помощью xor получаешь цвет, который получишь при смешивании двух, хотя врядли это поможет.
Altair
Хм... надо попробовать, хотя сомневаюсь что это так...
GoodWind
поищи инфу про организацию альфа-каналов
Dark
Угу, для обоих картинок устанавливается альфа цвет яркости,

Z[i,j]=X[i,j]*al+Y[i,j]*(1-al)

Где Z - результат
X,Y - первая и вторая картинки
al - альфа цвет картинки от 0 до 1

i от 0 до макс номера точки
j от 0 до 3х [для 24 бит режима]

Вроде бы это только для 24 бит цветов - т.к. палитра 256 цветов не дает базового разбиения RGB

здесь имеется ввиду то, что мы изменяем КАЖДЫЙ байт точки а не всю точку сразу [блин, корявое объяснение - извините]
Dark
Могу представить алгоритм на асме,

Есть описание эффекта фоггинг, наплыва изображения, эффекта прозрачного объекта(стекло)

Если еще интересуют какие нибудь эффекты - скажите, я еще поищу
Altair
Да, интересуют. Поищи пожалуйста!(описания алгоритмов)
Цитата
Вроде бы это только для 24 бит цветов - т.к. палитра 256 цветов не дает базового разбиения RGB

Но тогда и для 16 бит и для 32 ... blink.gif

ЗЫ: нет, на асме не нужно... все это будет реализовываться на FPC, а с асмом там проблеммы... нетподдержки большинства команд ассемблера да и в настройках компилятора трудно разобраться ....
Dark
рискну и на пасе =)
формула то таже =)))))
Dark
Эффект на асме брошу в тему изучение 24 бит графики
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.