Компоненты шейдерных эффектов

Список эффектов для FireMonkey.

 

TBlendEffect - компонент эффектов смешивания изображений примерно как в Photoshop

Свойства:
  • BlendBitmap: TBitmap, любое изображение из зарегистрированных форматов (*.bmp, *.jpg, *jpeg, *.png, *.gif, *.tif, *.ico, *.wmp)
  • BlendMode: TBlendMode, принимает одно из значений смешивания
  • BlendOpacity: Single, прозрачность накладываемого изображения  

 Примеры использования:

Оригинальное:

BlendBitmap:

 

TBlendMode.bmAdd

TBlendMode.bmColorBurn

TBlendMode.bmDifference

TBlendMode.bmHardMix

TBlendMode.bmLighten

TBlendMode.bmPhoenix

TBlendMode.bmVividLight

TBlendMode.bmLinearLight

 
TColorOverlayEffect - эффект наложения цвета на визуальный компонент или изображение
Свойства:
  • Clolor: TAlphaColor, устанавливаем накладываемый цвет
Примеры использования:

 
TColorizeEffect - эффект перекрашивания визуального компонента
Свойства: 
  • Hue: Single, значение тона (от 0 до 1)
  • Lightness: Single, значение освещенности (от 0 до 1)
  • Saturation: Single, значение насыщенности (от 0 до 1)

Примеры использования:

 
TDesaturateEffect - эффект исключающий насыщенность
Свойства: 
  • Desaturation: Single, значения насыщенности (от -5 до 5)
Примеры использования:

 
TGammaAdjustEffect - эффект вычитающий гамму
Свойства: 
  • Gamma: Single, значение гаммы (от 0 до 1)
Примеры использования:

 
THueSaturationEffect - эффект тона, насыщенности, освещенности
Свойства: 
  • Hue: Single, значение тона (от 0 до 1)
  • Lightness: Single, значение освещенности (от 0 до 1)
  • Saturation: Single, значение насыщенности (от 0 до 1)

Примеры использования:

 
TMixChannelsEffect - микширование каналов, примерно как в Photoshop
Свойства: 
  • ColorChannel: TColorChannel, принимает одно из значений (chRed,chGreen,chBlue)
  • Red: Single, значение красного (от -5 до 5)
  • Green: Single, значение зеленого (от -5 до 5)
  • Blue: Single, значение синего (от -5 до 5)
  • Constant: Single, значение константы (от -5 до 5)
Примеры использования:

 

Градиентные шейдерные эффекты.

 

Стандартные свойства для всех градиентов:
  • BlendMode: TBlendMode, режим смешивания, накладываемого градиента
  • Gradient: TGradient, настройка градиента
  • Invert: Boolean, инвертирование градиента
  • Number: Single, кол-во повторений градиента
  • UseAlphaMask: Boolean, использование альфа маски при наложении

TLinearGradientEffect - линейный градиент
Свойства:
  • Scale: Single, масштабирование градиента
  • RotationAngle: Single, поворот на любой угол
  • RotationCenter: TPosition, центр поворота (от 0 до 1), по умолчанию центр (0.5, 0.5)
  • Offset: Single, сдвиг от начального положения
Примеры использования:

 
TRadialGradientEffect - радиальный градиент
Свойства:
  • Center: TPosition, позиция центра,  по умолчанию центр (0.5, 0.5)
  • Scale: TPosition, масштабирование
  • Radius: Single, радиус
Примеры использования:

 
TDiamondGradientEffect - ромбовидный градиент
Свойства:
  • Scale: TPosition, масштабирование
  • RotationCenter: TPosition, центр поворота (от 0 до 1), по умолчанию центр (0.5, 0.5)
  • RotationAngle: Single, поворот на любой угол
  • Radius: Single, радиус
Примеры использования:
 
TConicalGradientEffect - конусовидный градиент
Свойства:
  • Center: TPosition, позиция центра,  по умолчанию центр (0.5, 0.5)
  • StartAngle: Single, начальная позиция угла
  • EndAndle: Single, конечная позиция угла
Примеры использования:
 
TBlendMode - тип смешивания, представленный отдельными фильтрами, вызвать фильтр можно используя функцию: FilterByBlendMode(Mode: TBlendMode): TFilter
 
Режим смешивания включает в себя 30 различных шейдерных смешиваний:
TBlendMode = (bmNormal, bmLighten,  bmDarken,  bmMultiply,  bmAverage,       
bmAdd,    bmSubtract, bmDifference, bmNegation,  bmExclusion,
bmScreen, bmOverlay,  bmSoftLight,  bmHardLight, bmColorDodge,
bmColorBurn, bmLinearDodge, bmLinearBurn, bmLinearLight, bmVividLight,
bmPinLight, bmHardMix,  bmReflect, bmGlow, bmInvGlow,
bmPhoenix,  bmSaturation, bmColor, bmLuminosity, bmHue);
 

Демо работы компонентов: ShaderDemo.7z

Примечание:
Все компоненты представлены отдельными шейдерными фильтрами, которые можно использовать для различных целей и проектов!
Расширенную работу этих компонентов можно оценить в программе StyleEditor на вкладке Experimental.
Для тех кто заинтересован в покупке данных компонентов обращаемся ко мне на почту: zixeon@gmail.com