![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Градиент
serhiyiv © (2010-03-07 10:13:00)Народ привет. Подскажите пожалуйста как сделать градиент прозрачным?!!!
serhiyiv (2010-03-09 13:19:00) [1]Большое СПАСИБО!!! Буду разбираться.
DVM (2010-03-09 12:20:00) [2]
> Например, на канве нарисована картинка, теперь чтоб поверх
> нее нарисовать полупрозрачный прямоугольник, нужно смешать
> цвета пикселей: тот который на прямоугольнике с тем, который
> находиться под ним же, на канве. И так все остальные. Правильно,
> или нет?
так
> Вот где можно про это почитать?!
Да тут читать то больше нечего. Функцию смешения цветов я привел, твоя задача пробежаться по пикселам двух битмапов и смешать их, вывести результат либо в третий либо в один из исходных битмапов.
При смешении цветов указанную мной функцию лучше сделать inline, то есть вставить ее код сразу в нужное место, а то тормозно выйдет.
serhiyiv (2010-03-09 12:13:00) [3]DVM Спасибо!!! Но не могли б вы еще подсказать какую то книжку по работе с графикой в дельфи!? И вобще, как полупрозрачность реализуеться? Например, на канве нарисована картинка, теперь чтоб поверх нее нарисовать полупрозрачный прямоугольник, нужно смешать цвета пикселей: тот который на прямоугольнике с тем, который находиться под ним же, на канве. И так все остальные. Правильно, или нет? Вот где можно про это почитать?!
DVM (2010-03-08 10:23:00) [4]
> serhiyiv © (08.03.10 00:22) [9]
> Если вам не трудно, скиньте пожалуйста пример!
Нет у меня примера. Так что давай сам.
Вот функция смешения цветов:
function MixerColors(FromColor, ToColor: TColor; Rate: Single): TColor;
var
ra, rb: byte;
begin
RA := round(Rate * 255);
RB := 255 - RA;
result := (((Lo(FromColor) * RA + Lo(ToColor) * RB) shr 8) or
(((Lo(FromColor shr 8) * RA + Lo(ToColor shr 8) * RB) shr 8) shl 8) or
(((Lo(FromColor shr 16) * RA + Lo(ToColor shr 16) * RB) shr 8) shl 16));
end;
Функция градиента думаю у тебя есть. Вот и добавь в нее смешение цветов.
QAZ (2010-03-08 09:59:00) [5]
> Германн © (08.03.10 00:51) [10]
ошибся адресом
http://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D0%B4%D0%B8%D0%B5%D0%BD%D1%82_(%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0)
Германн (2010-03-08 00:51:00) [6]
> Просто на канве нарисовать прямоугольник с прозрачным градиентом.
http://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D0%B4%D0%B8%D0%B5%D0%BD%D1%82
Как его сделать прозрачным???
:)
serhiyiv (2010-03-08 00:22:00) [7]
> Очень просто. Рисуешь свой градиент в памяти. Выводишь на
> канву смешивая цвета.
Если вам не трудно, скиньте пожалуйста пример!
DVM (2010-03-07 21:50:00) [8]
> с прозрачным градиентом.
ПОЛУПРОЗРАЧНЫМ ТЫ ВЕРОЯТНО ХОТЕЛ СКАЗАТЬ.
Очень просто. Рисуешь свой градиент в памяти. Выводишь на канву смешивая цвета.
serhiyiv (2010-03-07 20:31:00) [9]Просто на канве нарисовать прямоугольник с прозрачным градиентом.
Дмитрий Белькевич (2010-03-07 17:24:00) [10]
> Что это такое?!!! MakeGradientTransparency()
Функция. Которая делает градиент прозрачным.
Плохиш (2010-03-07 13:02:00) [11][4] считать не действительным, не знаю как его этот хвалёных ff сюда засандалил :-(
Плохиш (2010-03-07 13:00:00) [12]
Introduction
This document describes the new cross-browser NPAPI extensions that has been developed by a group of browser and plugin vendors, including Opera Software, the Mozilla Foundation, Adobe, Apple, and Sun Microsystems. This document also talks about how to make a plugin use these new extensions to be scriptable, and how to access objects in a browser.
The new NPPVariable enumeration is defined in npapi.h as:
NPPVpluginScriptableNPObject = 15
Этот документ пойдёт?
0x00FF00 (2010-03-07 12:44:00) [13]Ну... как бы это помякше сказать...
Каков вопрос — таков ответ.
Какой ещё градиент?
Где градиент?
Зачем градиент?
Конкретизировать надо вопрос.
Откуда мы знаем, как сделать его прозрачным, если не знаем ни твоих целей, ни специфики работы?
serhiyiv (2010-03-07 10:52:00) [14]Что это такое?!!! MakeGradientTransparency()
Дмитрий Белькевич (2010-03-07 10:22:00) [15]MakeGradientTransparency()