Форум: "Media";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
ВнизПолупрозрачность Найти похожие ветки
← →
Владимир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 вся ветка
Форум: "Media";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c