.. meta:: :description: Kdenlive Documentation - Compositing: Composition Blend Modes :keywords: KDE, Kdenlive, documentation, user manual, video editor, open source, free, learn, easy, compositing, composition, compositions, blend, modes .. metadata-placeholder :authors: - Bernd Jordan (https://discuss.kde.org/u/berndmj) :license: Creative Commons License SA 4.0 .. _compositions-blend_modes: Composition Blend Modes ======================= For Kdenlive, some composition types are basically :doc:`blending modes ` (see there for a detailed description). .. container:: clear-both .. figure:: /images/effects_and_compositions/compositions-blend_modes-timeline.gif :width: 360px :figwidth: 360px :align: left Changing the composition **Blend Mode** You can change the **Blend Mode** by selecting from the :guilabel:`Composition Type` drop-down list. .. rst-class:: clear-both The following table below lists the composition types and their blending mode counterpart in :guilabel:`Composition Type` **Cairo Blend**: .. list-table:: :header-rows: 1 :width: 100% :widths: 30 30 40 :class: table-wrap * - Composition Type - Example - Blending Mode * - .. _addition-addition-alpha: | Addition / | addition_alpha - .. image:: /images/effects_and_compositions/composition_method-addition.webp - | Add | Perform an RGB[A] addition or addition_alpha operation of the pixel sources (|frei0r.addition| and |frei0r.addition_alpha|, respectively) * - .. _burn: Burn - .. image:: /images/effects_and_compositions/composition_method-burn.webp - | Color Burn | Perform an RGB[A] dodge operation between the pixel sources\ [1]_ (|frei0r.burn|) * - .. _color-only: Color Only - .. image:: /images/effects_and_compositions/composition_method-color_only.webp - | No equivalent | Perform a conversion to color only of the source input 1 using the hue and saturation values of input 2 (|frei0r.color_only|) * - .. _darken: Darken - .. image:: /images/effects_and_compositions/composition_method-darken.webp - | Darken | Perform a darken operation between two sources (minimum value for both sources) (|frei0r.darken|) * - .. _difference: Difference - .. image:: /images/effects_and_compositions/composition_method-difference.webp - | Difference | Perform an RGB[A] difference operation between the pixel sources. (|frei0r.difference|) * - .. _divide: Divide - .. image:: /images/effects_and_compositions/composition_method-divide.webp - | No equivalent | Perform an RGB[A] divide operation between the pixel sources\ [2]_ (|frei0r.divide|) * - .. _dodge: Dodge - .. image:: /images/effects_and_compositions/composition_method-dodge.webp - | Color Dodge | Perform an RGB[A] dodge operation between the pixel sources\ [3]_ (|frei0r.dodge|) * - .. _grain-extract: Grain Extract - .. image:: /images/effects_and_compositions/composition_method-grain_extract.webp - | No equivalent | Perform an RGB[A] grain-extract operation between the pixel sources (|frei0r.grain_extract|) * - .. _grain-merge: Grain Merge - .. image:: /images/effects_and_compositions/composition_method-grain_merge.webp - | No equivalent | Perform an RGB[A] grain-merge operation between the pixel sources (|frei0r.grain_merge|) * - .. _hardlight: Hardlight - .. image:: /images/effects_and_compositions/composition_method-hardlight.webp - | Hard light | Perform an RGB[A] hardlight operation between the pixel sources (|frei0r.hardlight|) * - .. _hue: Hue - .. image:: /images/effects_and_compositions/composition_method-hue.webp - | HSL hue | Perform a conversion to hue only of the source input1 using the hue of input2 (|frei0r.hue|) * - .. _lighten: Lighten - .. image:: /images/effects_and_compositions/composition_method-lighten.webp - | Lighten | Perform a lighten operation between two sources (maximum value of both sources) (|frei0r.lighten|) * - .. _multiply: Multiply - .. image:: /images/effects_and_compositions/composition_method-multiply.webp - | Multiply | Perform an RGB[A] multiply operation between the pixel sources (|frei0r.multiply|) * - .. _overlay: Overlay - .. image:: /images/effects_and_compositions/composition_method-overlay.webp - | Overlay | Perform an RGB[A] overlay operation between the pixel sources\ [4]_ (|frei0r.overlay|) * - .. _saturation: Saturation - .. image:: /images/effects_and_compositions/composition_method-saturation.webp - | HSL saturation | Perform a conversion to saturation only of the source input1 using the saturation level of input2 (|frei0r.saturation|) * - .. _screen: Screen - .. image:: /images/effects_and_compositions/composition_method-screen.webp - | Screen | Perform an RGB[A] screen operation between the pixel sources\ [5]_ effectively using black as the alpha channel (|frei0r.screen|) * - .. _softlight: Softlight - .. image:: /images/effects_and_compositions/composition_method-softlight.webp - | Soft light | Perform an RGB[A] softlight operation between the pixel sources (|frei0r.softlight|) * - .. _subtract: Subtract - .. image:: /images/effects_and_compositions/composition_method-subtract.webp - | No equivalent | Perform an RGB[A] subtract operation of the pixel source input2 from input1 (|frei0r.subtract|) ---- .. [1] It uses the generalized algorithm: :code:`D = saturation of 255 or depletion of 0, of ((255-A)*256) / (b+1)` .. [2] Input 1 is the numerator, input 2 the denominator .. [3] It uses the generalized algorithm: :code:`D = saturation of 255 or (A*256)/(256-B)` .. [4] It uses using the generalized algorithm: :code:`D = A * (B + (2 * B) * (255 - A))` .. [5] It uses using the generalized algorithm: :code:`D = 255 - (255 - A) * (255 - B)` .. =========================================================================== Link list .. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Compositions +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .. |frei0r.addition| raw:: html frei0r.addition .. |frei0r.addition_alpha| raw:: html frei0r.addition_alpha .. |frei0r.burn| raw:: html frei0r.burn .. |frei0r.cairoaffineblend| raw:: html frei0r.cairoaffineblend .. |frei0r.cairoblend| raw:: html frei0r.cairoblend .. |frei0r.color_only| raw:: html frei0r.color_only .. |composite| raw:: html composite .. |qtblend| raw:: html qtblend .. |frei0r.darken| raw:: html frei0r.darken .. |frei0r.difference| raw:: html frei0r.difference .. |luma| raw:: html luma .. |frei0r.divide| raw:: html frei0r.divide .. |frei0r.dodge| raw:: html frei0r.dodge .. |frei0r.grain_extract| raw:: html frei0r.grain_extract .. |frei0r.grain_merge| raw:: html frei0r.grain_merge .. |frei0r.hardlight| raw:: html frei0r.hardlight .. |frei0r.hue| raw:: html frei0r.hue .. |frei0r.lighten| raw:: html frei0r.lighten .. |matte| raw:: html matte .. |frei0r.multiply| raw:: html frei0r.multiply .. |frei0r.overlay| raw:: html frei0r.overlay .. |frei0r.saturation| raw:: html frei0r.saturation .. |frei0r.screen| raw:: html frei0r.screen .. |frei0r.softlight| raw:: html frei0r.softlight .. |frei0r.subtract| raw:: html frei0r.subtract .. |affine| raw:: html affine .. |frei0r.uvmap| raw:: html frei0r.uvmap .. |frei0r.value| raw:: html frei0r.value