Главная страница
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.013 c
1-51674
AlexT1000
2002-12-05 16:15
2002.12.16
Как отловить нажатия Alt ,Ctrl,Shift для всего приложения в целом


1-51695
avsh
2002-12-05 22:03
2002.12.16
Помогите


4-52033
X-shadow
2002-11-02 16:02
2002.12.16
Ох уж этот API


3-51629
ALX1
2002-11-28 11:28
2002.12.16
---|Ветка была без названия|---


14-51930
Шонь-Дзюнь
2002-11-25 15:51
2002.12.16
Меню настройки