openshot::ChromaKey Class Reference

This class uses the ImageMagick++ libraries, to remove (i.e. key out) a color (i.e. greenscreen) More...

`#include <ChromaKey.h>`

Inheritance diagram for openshot::ChromaKey:

## Public Member Functions

| ChromaKey ()
| Blank constructor, useful when using Json to load the effect properties. More...
| ChromaKey (Color color, Keyframe fuzz)
std::shared_ptr< Frame > | GetFrame (std::shared_ptr< Frame > frame, int64_t frame_number)
| This method is required for all derived classes of EffectBase, and returns a modified openshot::Frame object. More...
string | Json ()
| Get and Set JSON methods. More...
Json::Value | JsonValue ()
| Generate Json::JsonValue for this object. More...
string | PropertiesJSON (int64_t requested_frame)
void | SetJson (string value)
| Load JSON string into this object. More...
void | SetJsonValue (Json::Value root)
| Load Json::JsonValue into this object. More...
Public Member Functions inherited from openshot::EffectBase
void | DisplayInfo ()
| Display effect information in the standard output stream (stdout) More...
void | InitEffectInfo ()
Json::Value | JsonInfo ()
| Generate JSON object of meta data / info. More...
int | Order ()
| Get the order that this effect should be executed. More...
void | Order (int new_order)
| Set the order that this effect should be executed. More...
Public Member Functions inherited from openshot::ClipBase
| ClipBase ()
| Constructor for the base clip. More...
float | Duration ()
| Get the length of this clip (in seconds) More...
float | End ()
| Get end position (in seconds) of clip (trim end of video) More...
void | End (float value)
| Set end position (in seconds) of clip (trim end of video) More...
string | Id ()
| Get basic properties. More...
void | Id (string value)
| Set basic properties. More...
int | Layer ()
| Get layer of clip on timeline (lower number is covered by higher numbers) More...
void | Layer (int value)
| Set layer of clip on timeline (lower number is covered by higher numbers) More...
bool | operator< (ClipBase &a)
bool | operator<= (ClipBase &a)
bool | operator> (ClipBase &a)
bool | operator>= (ClipBase &a)
float | Position ()
| Get position on timeline (in seconds) More...
void | Position (float value)

> Set the Id of this clip object

More...

void | SetMaxSize (int width, int height)
| Set Max Image Size (used for performance optimization) More...
float | Start ()
| Get start position (in seconds) of clip (trim start of video) More...
void | Start (float value)
| Set start position (in seconds) of clip (trim start of video) More...

## Additional Inherited Members

Public Attributes inherited from openshot::EffectBase
EffectInfoStruct | info
| Information about the current effect. More...
Protected Member Functions inherited from openshot::ClipBase
Json::Value | add_property_choice_json (string name, int value, int selected_value)
| Generate JSON choice for a property (dropdown properties) More...
Json::Value | add_property_json (string name, float value, string type, string memo, Keyframe *keyframe, float min_value, float max_value, bool readonly, int64_t requested_frame)
| Generate JSON for a property. More...
Protected Attributes inherited from openshot::ClipBase
float | end
| The position in seconds to end playing (used to trim the ending of a clip) More...
string | id
| ID Property for all derived Clip and Effect classes. More...
int | layer
| The layer this clip is on. Lower clips are covered up by higher clips. More...
int | max_height
| The maximium image height needed by this clip (used for optimizations) More...
int | max_width
| The maximum image width needed by this clip (used for optimizations) More...
float | position
| The position on the timeline where this clip should start playing. More...
string | previous_properties
| This string contains the previous JSON properties. More...
float | start
| The position in seconds to start playing (used to trim the beginning of a clip) More...

## Detailed Description

This class uses the ImageMagick++ libraries, to remove (i.e. key out) a color (i.e. greenscreen)

The greenscreen / bluescreen effect replaces matching colors in the video image with transparent pixels, revealing lower layers in the timeline.

Definition at line 54 of file ChromaKey.h.

## Constructor & Destructor Documentation

## ChromaKey() [1/2]

ChromaKey::ChromaKey | ( |  | ) |

Blank constructor, useful when using Json to load the effect properties.

Definition at line 33 of file ChromaKey.cpp.

## ChromaKey() [2/2]

ChromaKey::ChromaKey | ( | Color | color,
|  | Keyframe | fuzz
| ) |  |

Default constructor, which takes an openshot::Color object and a 'fuzz' factor, which is used to determine how similar colored pixels are matched. The higher the fuzz, the more colors are matched.

Parameters

  color | The color to match
  fuzz | The fuzz factor (or threshhold)

Definition at line 44 of file ChromaKey.cpp.

## Member Function Documentation

## GetFrame()

std::shared_ptr< Frame > ChromaKey::GetFrame | ( | std::shared_ptr< Frame > | frame,
|  | int64_t | frame_number
| ) |  |

virtual

This method is required for all derived classes of EffectBase, and returns a modified openshot::Frame object.

The frame object is passed into this method, and a frame_number is passed in which tells the effect which settings to use from it's keyframes (starting at 1).

Returns
  The modified openshot::Frame object

Parameters

  frame | The frame object that needs the effect applied to it
  frame_number | The frame number (starting at 1) of the effect on the timeline.

Implements openshot::EffectBase.

Definition at line 66 of file ChromaKey.cpp.

## Json()

string ChromaKey::Json | ( |  | ) |

virtual

Get and Set JSON methods.

Generate JSON string of this object

Implements openshot::EffectBase.

Definition at line 101 of file ChromaKey.cpp.

## JsonValue()

Json::Value ChromaKey::JsonValue | ( |  | ) |

virtual

Generate Json::JsonValue for this object.

Implements openshot::EffectBase.

Definition at line 108 of file ChromaKey.cpp.

## PropertiesJSON()

string ChromaKey::PropertiesJSON | ( | int64_t | requested_frame | ) |

virtual

Get all properties for a specific frame (perfect for a UI to display the current state of all properties at any time)

Implements openshot::ClipBase.

Definition at line 157 of file ChromaKey.cpp.

## SetJson()

void ChromaKey::SetJson | ( | string | value | ) |

virtual

Load JSON string into this object.

Implements openshot::EffectBase.

Definition at line 121 of file ChromaKey.cpp.

## SetJsonValue()

void ChromaKey::SetJsonValue | ( | Json::Value | root | ) |

virtual

Load Json::JsonValue into this object.

Implements openshot::EffectBase.

Definition at line 144 of file ChromaKey.cpp.

The documentation for this class was generated from the following files:

- ChromaKey.h
- ChromaKey.cpp