Loading...
Searching...
No Matches
openshot::Crop Class Reference

This class crops a frame image (from any side), and can be animated with openshot::Keyframe curves over time. More...

`#include <effects/Crop.h>`

Inheritance diagram for openshot::Crop:

## Public Member Functions

| Crop ()
| Blank constructor, useful when using Json to load the effect properties.
| Crop (Keyframe left, Keyframe top, Keyframe right, Keyframe bottom, Keyframe x=0.0, Keyframe y=0.0)
std::shared_ptr< openshot::Frame > | GetFrame (int64_t frame_number) override
| This method is required for all derived classes of ClipBase, and returns a new openshot::Frame object. All Clip keyframes and effects are resolved into pixels.
std::shared_ptr< openshot::Frame > | GetFrame (std::shared_ptr< openshot::Frame > frame, int64_t frame_number) override
| This method is required for all derived classes of ClipBase, and returns a modified openshot::Frame object.
std::string | Json () const override
| Generate JSON string of this object.
Json::Value | JsonValue () const override
| Generate Json::Value for this object.
std::string | PropertiesJSON (int64_t requested_frame) const override
void | SetJson (const std::string value) override
| Load JSON string into this object.
void | SetJsonValue (const Json::Value root) override
| Load Json::Value into this object.
Public Member Functions inherited from openshot::EffectBase
Json::Value | BasePropertiesJSON (int64_t requested_frame) const
| Generate JSON object of base properties (recommended to be used by all effects)
int | constrain (int color_value)
| Constrain a color value from 0 to 255.
void | DisplayInfo (std::ostream *out=&std::cout)
| Display effect information in the standard output stream (stdout)
virtual std::string | GetVisibleObjects (int64_t frame_number) const
| Get the indexes and IDs of all visible objects in the given frame.
void | InitEffectInfo ()
virtual std::string | Json (int64_t requested_frame) const
Json::Value | JsonInfo () const
| Generate JSON object of meta data / info.
int | Order () const
| Get the order that this effect should be executed.
void | Order (int new_order)
| Set the order that this effect should be executed.
openshot::ClipBase * | ParentClip ()
| Parent clip object of this effect (which can be unparented and NULL)
void | ParentClip (openshot::ClipBase *new_clip)
| Set parent clip object of this effect.
std::string | ParentClipId () const
| Return the ID of this effect's parent clip.
virtual void | SetJson (int64_t requested_frame, const std::string value)
void | SetParentEffect (std::string parentEffect_id)
| Set the parent effect from which this properties will be set to.
virtual | ~EffectBase ()=default
Public Member Functions inherited from openshot::ClipBase
| ClipBase ()
| Constructor for the base clip.
float | Duration () const
| Get the length of this clip (in seconds)
virtual float | End () const
| Get end position (in seconds) of clip (trim end of video)
virtual void | End (float value)
| Set end position (in seconds) of clip (trim end of video)
std::string | Id () const
| Get the Id of this clip object.
void | Id (std::string value)
int | Layer () const
| Get layer of clip on timeline (lower number is covered by higher numbers)
void | Layer (int value)
| Set layer of clip on timeline (lower number is covered by higher numbers)
bool | operator< (ClipBase &a)
bool | operator<= (ClipBase &a)
bool | operator> (ClipBase &a)
bool | operator>= (ClipBase &a)
virtual openshot::TimelineBase * | ParentTimeline ()
| Get the associated Timeline pointer (if any)
virtual void | ParentTimeline (openshot::TimelineBase *new_timeline)
| Set associated Timeline pointer.
float | Position () const
| Get position on timeline (in seconds)
void | Position (float value)

> ‍Set the Id of this clip object

float | Start () const
| Get start position (in seconds) of clip (trim start of video)
void | Start (float value)
| Set start position (in seconds) of clip (trim start of video)
virtual | ~ClipBase ()=default

## Public Attributes

Keyframe | bottom
| Size of bottom bar.
Keyframe | left
| Size of left bar.
bool | resize
| Auto-resize image after crop operation.
Keyframe | right
| Size of right bar.
Keyframe | top
| Size of top bar.
Keyframe | x
| X-offset.
Keyframe | y
| Y-offset.
Public Attributes inherited from openshot::EffectBase
EffectInfoStruct | info
| Information about the current effect.
EffectBase * | parentEffect
| Parent effect (which properties will set this effect properties)
std::map< int, std::shared_ptr< openshot::TrackedObjectBase > > | trackedObjects
| Map of Tracked Object's by their indices (used by Effects that track objects on clips)

## Additional Inherited Members

Protected Member Functions inherited from openshot::ClipBase
Json::Value | add_property_choice_json (std::string name, int value, int selected_value) const
| Generate JSON choice for a property (dropdown properties)
Json::Value | add_property_json (std::string name, float value, std::string type, std::string memo, const Keyframe *keyframe, float min_value, float max_value, bool readonly, int64_t requested_frame) const
| Generate JSON for a property.
Protected Attributes inherited from openshot::EffectBase
openshot::ClipBase * | clip
| Pointer to the parent clip instance (if any)
Protected Attributes inherited from openshot::ClipBase
float | end
| The position in seconds to end playing (used to trim the ending of a clip)
std::string | id
| ID Property for all derived Clip and Effect classes.
int | layer
| The layer this clip is on. Lower clips are covered up by higher clips.
float | position
| The position on the timeline where this clip should start playing.
std::string | previous_properties
| This string contains the previous JSON properties.
float | start
| The position in seconds to start playing (used to trim the beginning of a clip)
openshot::TimelineBase * | timeline
| Pointer to the parent timeline instance (if any)

## Detailed Description

This class crops a frame image (from any side), and can be animated with openshot::Keyframe curves over time.

Cropping images can be useful when wanting to remove a border around an image or video, and animating the crop can create some very interesting effects.

Definition at line 37 of file Crop.h.

## Constructor & Destructor Documentation

## Crop() [1/2]

Crop::Crop | ( |  | ) |

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

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

Definition at line 26 of file Crop.cpp.

## Crop() [2/2]

Crop::Crop | ( | Keyframe | left,
|  | Keyframe | top,
|  | Keyframe | right,
|  | Keyframe | bottom,
|  | Keyframe | x = `0.0`,
|  | Keyframe | y = `0.0`
| ) |  |

Default constructor, which takes 4 curves. These curves animate the crop over time.

Parameters

  left | The curve to adjust the left bar size (between 0 and 1)
  top | The curve to adjust the top bar size (between 0 and 1)
  right | The curve to adjust the right bar size (between 0 and 1)
  bottom | The curve to adjust the bottom bar size (between 0 and 1)
  x | x-offset of original image in output frame (-1.0 - 1.0)
  y | y-offset of original image in output frame (-1.0 - 1.0)

Definition at line 28 of file Crop.cpp.

## Member Function Documentation

## GetFrame() [1/2]

std::shared_ptr< openshot::Frame > openshot::Crop::GetFrame | ( | int64_t | frame_number | ) |

inline override virtual

This method is required for all derived classes of ClipBase, and returns a new openshot::Frame object. All Clip keyframes and effects are resolved into pixels.

Returns
  A new openshot::Frame object

Parameters

  frame_number | The frame number (starting at 1) of the clip or effect on the timeline.

Implements openshot::ClipBase.

Definition at line 74 of file Crop.h.

Referenced by GetFrame().

## GetFrame() [2/2]

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

override virtual

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

The frame object is passed into this method and used as a starting point (pixels and audio). All Clip keyframes and effects are resolved into pixels.

Returns
  The modified openshot::Frame object

Parameters

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

Implements openshot::ClipBase.

Definition at line 54 of file Crop.cpp.

## Json()

std::string Crop::Json | ( |  | ) | const

override virtual

Generate JSON string of this object.

Reimplemented from openshot::EffectBase.

Definition at line 119 of file Crop.cpp.

## JsonValue()

Json::Value Crop::JsonValue | ( |  | ) | const

override virtual

Generate Json::Value for this object.

Reimplemented from openshot::EffectBase.

Definition at line 126 of file Crop.cpp.

Referenced by Json().

## PropertiesJSON()

std::string Crop::PropertiesJSON | ( | int64_t | requested_frame | ) | const

override 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 184 of file Crop.cpp.

## SetJson()

void Crop::SetJson | ( | const std::string | value | ) |

override virtual

Load JSON string into this object.

Reimplemented from openshot::EffectBase.

Definition at line 144 of file Crop.cpp.

## SetJsonValue()

void Crop::SetJsonValue | ( | const Json::Value | root | ) |

override virtual

Load Json::Value into this object.

Reimplemented from openshot::EffectBase.

Definition at line 161 of file Crop.cpp.

Referenced by SetJson().

## Member Data Documentation

## bottom

Keyframe openshot::Crop::bottom

Size of bottom bar.

Definition at line 48 of file Crop.h.

Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().

## left

Keyframe openshot::Crop::left

Size of left bar.

Definition at line 45 of file Crop.h.

Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().

## resize

bool openshot::Crop::resize

Auto-resize image after crop operation.

Definition at line 51 of file Crop.h.

Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().

## right

Keyframe openshot::Crop::right

Size of right bar.

Definition at line 47 of file Crop.h.

Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().

## top

Keyframe openshot::Crop::top

Size of top bar.

Definition at line 46 of file Crop.h.

Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().

## x

Keyframe openshot::Crop::x

X-offset.

Definition at line 49 of file Crop.h.

Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().

## y

Keyframe openshot::Crop::y

Y-offset.

Definition at line 50 of file Crop.h.

Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().

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

- effects/Crop.h
- effects/Crop.cpp