forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=109)
-   -   LightBlend (http://forum.boolean.name/showthread.php?t=3720)

jimon 22.06.2007 12:03

LightBlend
 
Вложений: 2
есть картинка простая - 64,64 белый кружок на чорном фоне и 64,64 белый квадрат

тайлим квадрат
ставим lightblend
рисуем кружок

вопрос как в таком случае нарисовать етот кружок в чорном цвете ?!
ну не буду же я указавать setcolor -255,-255,-255 :lol: :(

alcoSHoLiK 22.06.2007 15:31

Re: AlphaBlend
 
Тебе нужно именно в черном или цветом, инвертированным к фоновому? И в том, и в том надо изменять pixmap картинки. Пройтись по всем пикселам, заменить нужные цвета на другие. Если инвертировать фон, надо считывать пиксель из фона и записывать в картинку инвертированным.
Или я неправильно понял вопрос.

jimon 22.06.2007 15:33

Re: LightBlend
 
alcoSHoLiK
сорри только заметил :) не alphablend, а lightblend
при нем получается что цвета плюсуются
мне нужно иногда получать обратный еффект
чтобы в формулу подставлялись и отрицательные значения

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

ps. писал утром :) потому очепятки
ps2. в моем случае даже если картинка будет полностью чорная ... толку ноль
разве что негатив + shadeblend + setcolor ... то ето изврат

alcoSHoLiK 22.06.2007 18:24

Re: LightBlend
 
Юзай OpenGL :)
Там можно задать фильтр. Если картинка белая, ты ей любой цвет можешь задать.
Ну и для блендинга спец функции есть. В твоем случае
Код:

glEnable(GL_BLEND);
glBlendEquation(GL_FUNC_REVERSE_SUBSTRACT);
glBlendFunc(GL_ONE, GL_ONE);

Каждый нарисованный пиксель будет иметь цвет, равный вычитаю цвета пиксела от цвета фона. Можно и наоборот. А в Максе не знаю)


Часовой пояс GMT +4, время: 09:15.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot