OpenShot Library | libopenshot
0.3.3
|
This class crops a frame image (from any side), and can be animated with openshot::Keyframe curves over time. More...
#include <effects/Crop.h>
Public Member Functions | |
Crop () | |
Blank constructor, useful when using Json to load the effect properties. More... | |
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. More... | |
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. More... | |
std::string | Json () const override |
Generate JSON string of this object. More... | |
Json::Value | JsonValue () const override |
Generate Json::Value for this object. More... | |
std::string | PropertiesJSON (int64_t requested_frame) const override |
void | SetJson (const std::string value) override |
Load JSON string into this object. More... | |
void | SetJsonValue (const Json::Value root) override |
Load Json::Value into this object. More... | |
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) More... | |
int | constrain (int color_value) |
Constrain a color value from 0 to 255. More... | |
void | DisplayInfo (std::ostream *out=&std::cout) |
Display effect information in the standard output stream (stdout) More... | |
virtual std::string | GetVisibleObjects (int64_t frame_number) const |
Get the indexes and IDs of all visible objects in the given frame. More... | |
void | InitEffectInfo () |
virtual std::string | Json (int64_t requested_frame) const |
Json::Value | JsonInfo () const |
Generate JSON object of meta data / info. More... | |
int | Order () const |
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... | |
openshot::ClipBase * | ParentClip () |
Parent clip object of this effect (which can be unparented and NULL) More... | |
void | ParentClip (openshot::ClipBase *new_clip) |
Set parent clip object of this effect. More... | |
std::string | ParentClipId () const |
Return the ID of this effect's parent clip. More... | |
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. More... | |
virtual | ~EffectBase ()=default |
Public Member Functions inherited from openshot::ClipBase | |
ClipBase () | |
Constructor for the base clip. More... | |
virtual void | End (float value) |
Set end position (in seconds) of clip (trim end of video) More... | |
void | Id (std::string value) |
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) |
void | Position (float value) |
More... | |
void | Start (float value) |
Set start position (in seconds) of clip (trim start of video) More... | |
virtual | ~ClipBase ()=default |
Public Attributes | |
Keyframe | bottom |
Size of bottom bar. More... | |
Keyframe | left |
Size of left bar. More... | |
bool | resize |
Auto-resize image after crop operation. More... | |
Keyframe | right |
Size of right bar. More... | |
Keyframe | top |
Size of top bar. More... | |
Keyframe | x |
X-offset. More... | |
Keyframe | y |
Y-offset. More... | |
Public Attributes inherited from openshot::EffectBase | |
EffectInfoStruct | info |
Information about the current effect. More... | |
EffectBase * | parentEffect |
Parent effect (which properties will set this effect properties) More... | |
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) More... | |
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) More... | |
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. More... | |
Protected Attributes inherited from openshot::EffectBase | |
openshot::ClipBase * | clip |
Pointer to the parent clip instance (if any) 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... | |
std::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... | |
float | position |
The position on the timeline where this clip should start playing. More... | |
std::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... | |
openshot::TimelineBase * | timeline |
Pointer to the parent timeline instance (if any) More... | |
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.
Crop::Crop | ( | ) |
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.
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) |
|
inlineoverridevirtual |
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.
frame_number | The frame number (starting at 1) of the clip or effect on the timeline. |
Implements openshot::ClipBase.
|
overridevirtual |
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.
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.
|
overridevirtual |
Generate JSON string of this object.
Reimplemented from openshot::EffectBase.
|
overridevirtual |
Generate Json::Value for this object.
Reimplemented from openshot::EffectBase.
Definition at line 126 of file Crop.cpp.
Referenced by Json().
|
overridevirtual |
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.
|
overridevirtual |
Load JSON string into this object.
Reimplemented from openshot::EffectBase.
|
overridevirtual |
Load Json::Value into this object.
Reimplemented from openshot::EffectBase.
Definition at line 161 of file Crop.cpp.
Referenced by SetJson().
Keyframe openshot::Crop::bottom |
Size of bottom bar.
Definition at line 48 of file Crop.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
Keyframe openshot::Crop::left |
Size of left bar.
Definition at line 45 of file Crop.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
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().
Keyframe openshot::Crop::right |
Size of right bar.
Definition at line 47 of file Crop.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
Keyframe openshot::Crop::top |
Size of top bar.
Definition at line 46 of file Crop.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
Keyframe openshot::Crop::x |
X-offset.
Definition at line 49 of file Crop.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
Keyframe openshot::Crop::y |
Y-offset.
Definition at line 50 of file Crop.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().