Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.16;
Скачать: CL | DM;

Вниз

Полупрозрачность   Найти похожие ветки 

 
Владимир2   (2002-09-03 10:32) [0]

Проблема.
Нужно получить эффект наложения на отрисованную область "затенённых стёкол" (залитые фигуры), при этом те участки области, которые "видны" через одно "стекло", затенены немного (по контуру "стекла"), через два "стекла" - больше, через три - ещё больше и т.д. Затенение "стёкол" - одинаковое.

Подскажите, пожалуйста:

1. Можно ли добиться такого эффекта, комбинируя режимы отрисовки, копирования, маски и т.п., без расчёта областей пересечения.

2. Каков порядок действий при этом. Кажется, перебрал все комбинации, ничего не получается. Смог только, если пересекаются два "стекла", больше - никак.

Заранее благодарю за помощь в решении этой "простой" задачи.


 
Ч а й н и к ©   (2002-09-03 17:18) [1]

Ну смотри:

можно по пиксельно просто изменять оттенок пикселя картинки.

например так:
var x,y:integer;OdnoSteklo:TColor;
begin
for x:=1 to image1.Width do
for y:=1 to image1.Height do
image1.Canvas.Pixels[x,y]:=image1.Canvas.Pixels[x,y] or OdnoSteklo;
end;

OdnoSteklo можешь задавать как после колор диалога так и програмно. Например OdnoSteklo:=$111111 . Тогда картинка посветлеет. Эксперементальным пуьем я думаю ты дальше справишься


 
SI-riuss ©   (2002-09-03 20:12) [2]

Да не мучайся:
http://g32.org/
Компонента Graphics32 - качай и радуйся. Тут все для 2Д-графики.


 
Ч а й н и к ©   (2002-09-03 22:37) [3]

А если вместо or поставишь and и число например $eeeeee то картинка сделается темнее.


 
Владимир2   (2002-09-04 10:45) [4]

Спасибо за ответы.

Чайнику: попиксельно - медленно, к тому же я не знаю какой области затенения принадлежит точка, нужны дополнительные проверки/вычисления.

SI-riuss: спасибо за ссылку. Я не знал об этой библиотеке.



Страницы: 1 вся ветка

Текущий архив: 2002.12.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
3-51573
Natali
2002-11-27 07:29
2002.12.16
обновить файл db


3-51656
--Magic--
2002-11-29 03:03
2002.12.16
Возмржно повредился файл таблицы


1-51791
DNT
2002-12-04 14:09
2002.12.16
Как прочитать файл, открытый другим приложением?


4-52040
Lexer
2002-11-01 20:31
2002.12.16
Как получить список подключенных к сети компьютеров?


1-51692
Romaizdurdoma
2002-12-05 22:10
2002.12.16
Массив в качестве параметра