Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Объединение рисунков [D7]


Maverick ©   (2004-02-09 12:09:00) 

Подскажите пожалуйста, как объеденить 2 рисунка в 1?


Sapersky   (2004-02-16 10:36:00) [1]

В Graphics32 есть попиксельный альфа-блендинг - это самое простое. В SpriteUtils вроде был, хотя точно не помню. В OGL и D3D (PowerDraw?) - само собой, это сложнее, но гораздо быстрее при наличии ускорителя (какого именно ускорителя - не проверял, но т.к. это штука весьма часто используемая, её по идее должны знать и уметь все, начиная с Voodoo1 и интегрированных в i815).


MBo   (2004-02-16 09:44:00) [2]

Да, это блендинг, и то, что ты называешь маской - коэффициент прозрачности (Alpha).
Нужно выполнить AlphaBlend с правильно заполненной BLENDFUNCTION (читай MSDN)


Alek Aaz   (2004-02-16 09:36:00) [3]

> не вполне ясна задача - нужен блендинг? Тогда AlphaBlend используй.
Скажем пиксель на новой текстуре с координатами х,у
если цвет пикселя маска[x,y]=белый то  цвет выход[x,y]=цвет текстура1[x,y]
если цвет пикселя маска[x,y]=черный то цвет выход[x,y]=цвет текстура2[x,y]
если цвет пикселя маска[x,y]=серый то цвет выход[x,y]=чтонибудь среднее между цвет текстура2[x,y] и цвет текстура1[x,y]

Возможно это и есть AlphaBlend. Но я думал, что AlphaBlend - прозрачность всей картинки относительно другой.(т.к. Альфа-канал один на все пиксели картинки) Ткните носом где можно почитать об этом поподробнее, то что нашел, слишком общее.


MBo   (2004-02-16 08:10:00) [4]

>Alek Aaz
не вполне ясна задача - нужен блендинг? Тогда AlphaBlend используй.

>по пиксельно будет черезчур тормозно
ScanLine или
http://www.delphimaster.ru/articles/pixels/index.html


Alek Aaz   (2004-02-16 05:33:00) [5]

В тему.
Как объединить две одинаковые картинки по маске?
Есть две текстуры земли, ночная и дневная. Есть картинка распределения освещенности. Там где светло - белый цвет, где темно - черный. в переходных местах - градация серого. Все одинаковой размерности. На шар надо наложить объедененную.
ИМХО, по пиксельно будет черезчур тормозно, мож библиотека есть какая?
PS. есть ли где функции "прокрутки" изображения?


Fenik   (2004-02-14 11:09:00) [6]

:-))
Как же мы без объединения!
Я уж волновался, что давно нет этого вопроса =)


MBo   (2004-02-09 13:47:00) [7]

Создай битмап таких размеров, чтобы оба маленьких вместились, и на его Canvas их нарисуй c помощью Draw


Maverick   (2004-02-09 13:43:00) [8]

но эта функция как я понял просто нарисует 2 битовых образа рядом, а как из 2-х битовых образов сделать один что бы потом сохранить в одном файле?


MBo   (2004-02-09 13:32:00) [9]

TCanvas.Draw
или BitBlt


Maverick   (2004-02-09 13:10:00) [10]

у меня есть два файла .bmp, как их объединить, так, что бы при просмотре две картинки были "рядом", т.е. как бы сшить эти самые 2 картинки, такое возможно?


MBo   (2004-02-09 12:48:00) [11]

Расшифруй


Наверх

Титульная страница Поиск, карта сайта Написать письмо