rect = shapes.add_shape(objects.Rect())
rect.size.add_keyframe(0, Point(100, 100))
rect.size.add_keyframe(30, Point(50, 120))
rect.size.add_keyframe(60, Point(100, 100))
rect.position.add_keyframe(0, Point(110, 110))
rect.position.add_keyframe(20, Point(80, 110))
rect.position.add_keyframe(40, Point(110, 110))

rrect = shapes.add_shape(objects.Rect())
rrect.size.value = Point(100, 100)
rrect.position.value = Point(440, 110)
rrect.rounded.add_keyframe(0, 0)
rrect.rounded.add_keyframe(30, 30)
rrect.rounded.add_keyframe(60, 0)

fill = shapes.add_shape(objects.Fill(Color(1, 1, 0)))
stroke = shapes.add_shape(objects.Stroke(Color(0, 0, 0), 5))

beziers = layer.add_shape(objects.Group())
beziers.transform.position.value = Point(0, 130)
beziers.add_shape(rect.to_bezier())
beziers.add_shape(rrect.to_bezier())
beziers.add_shape(circle.to_bezier())
beziers.add_shape(star.to_bezier())

fill = beziers.add_shape(objects.Fill(Color(0, 0, 1)))
stroke = beziers.add_shape(objects.Stroke(Color(1, 1, 1), 5))

script.script_main(an)
Esempio n. 2
0
#!/usr/bin/env python3
import sys
import os
sys.path.insert(
    0,
    os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
                 "lib"))
from lottie.utils import script
from lottie import objects
from lottie.parsers.svg import parse_svg_file
from lottie import Point, Color

an = parse_svg_file(
    os.path.join(os.path.dirname(os.path.abspath(__file__)), "blep.svg"))

layer = an.insert_layer(0, objects.ShapeLayer())
r = layer.add_shape(objects.Rect())
r.position.value = Point(256, 256)
r.size.value = Point(512, 512)
gf = layer.add_shape(
    objects.GradientFill([(0, Color(1, 1, 1)), (1, Color(0, 0, 0))]))
gf.start_point.value = Point(256, 256)
gf.end_point.value = Point(256, 64)

an.layers[-1].matte_mode = objects.MatteMode.Luma

script.script_main(an)
Esempio n. 3
0
import sys
import os

sys.path.insert(
    0,
    os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
                 "lib"))
from lottie.utils import script
from lottie import objects
from lottie.parsers.svg import parse_svg_file
from lottie import Point, Color

last_frame = 120
an = parse_svg_file(
    os.path.join(os.path.dirname(os.path.abspath(__file__)), "blep.svg"), 0,
    last_frame)

gaussian = objects.effects.GaussianBlurEffect()
an.layers[0].effects = [
    #objects.effects.TritoneEffect(Color(1, 0, 0), Color(0, 1, 0), Color(0, 0, 1)),
    #objects.effects.FillEffect(color=Color(1, 0, 0), opacity=0.5)
    objects.effects.DropShadowEffect(Color(0, 0, 0), 128, 135, 10, 7),
    objects.effects.TintEffect(Color(0, 0, 0), Color(0, 1, 0), 90),
    gaussian,
]
gaussian.sigma.add_keyframe(last_frame / 2, 0)
gaussian.sigma.add_keyframe(last_frame * 3 / 4, 25)
gaussian.sigma.add_keyframe(last_frame, 0)

script.script_main(an)
Esempio n. 4
0
sys.path.insert(
    0,
    os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
                 "lib"))
from lottie.utils import script
from lottie import objects
from lottie.objects import easing
from lottie import Point, Color, Size

an = objects.Animation(180)

layer = objects.ShapeLayer()
an.add_layer(layer)

easings = [
    (easing.Linear(), Color(1, 1, 1)),
    (easing.Jump(), Color(0, 0, 0)),
    (easing.EaseOut(1), Color(1, 0, 0)),
    (easing.EaseOut(1 / 2), Color(1 / 2, 0, 0)),
    (easing.EaseOut(1 / 3), Color(1 / 3, 0, 0)),
    (easing.EaseOut(1 / 5), Color(1 / 5, 0, 0)),
    (easing.EaseOut(1 / 10), Color(1 / 19, 0, 0)),
    (easing.EaseIn(1), Color(0, 1, 0)),
    (easing.EaseIn(1 / 2), Color(0, 1 / 2, 0)),
    (easing.EaseIn(1 / 3), Color(0, 1 / 3, 0)),
    (easing.EaseIn(1 / 5), Color(0, 1 / 5, 0)),
    (easing.EaseIn(1 / 10), Color(0, 1 / 10, 0)),
    (easing.Sigmoid(1), Color(0, 0, 1)),
    (easing.Sigmoid(1 / 2), Color(0, 0, 1 / 2)),
    (easing.Sigmoid(1 / 3), Color(0, 0, 1 / 3)),
    (easing.Sigmoid(1 / 5), Color(0, 0, 1 / 5)),
Esempio n. 5
0
    os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
    "lib"
))
from lottie.utils import script
from lottie import objects
from lottie.objects import easing
from lottie import Point, Color, Size, PolarVector
from lottie.utils import animation as anutils


last_frame = 120
an = objects.Animation(last_frame)
layer = objects.ShapeLayer()
an.insert_layer(0, layer)

color1 = Color(1, 0.98, 0.282)
color2 = Color(1, 0.341, 0.016)
color3 = Color(0.698, 0.114, 0.02)
particle_start = Point(256, 256)
particle_size = Point(20, 20)
particle_end = Point(256, -particle_size.y*2)
start_len_min = 0
start_len_max = 128
opacity_start = 100
opacity_end = 20


def particle():
    g = layer.add_shape(objects.Group())
    b = g.add_shape(objects.Ellipse())
    fill = objects.Fill()
Esempio n. 6
0
))
from lottie.utils import script
from lottie import objects
from lottie import Point, Color

an = objects.Animation(59)

layer = objects.ShapeLayer()
an.add_layer(layer)


g1 = layer.add_shape(objects.Group())
circle = g1.add_shape(objects.Ellipse())
circle.size.value = Point(100, 100)
circle.position.value = Point(200, 100)
g1.add_shape(objects.Fill(Color(1, 0, 0)))
g1.add_shape(objects.Stroke(Color(0, 0, 0), 5))

g2 = layer.add_shape(objects.Group())
star = g2.add_shape(objects.Star())
star.inner_radius.value = 20
star.outer_radius.value = 50
star.position.value = Point(300, 100)
g2.add_shape(objects.Fill(Color(0, 1, 0)))
g2.add_shape(objects.Stroke(Color(0, 0, 0), 5))

g3 = layer.add_shape(objects.Group())
rect = g3.add_shape(objects.Rect())
rect.size.value = Point(100, 100)
rect.position.value = Point(100, 100)
g3.add_shape(objects.Fill(Color(0, 0, 1)))
Esempio n. 7
0
    os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
    "lib"
))
from lottie.utils import script
from lottie import objects
from lottie.utils.animation import spring_pull
from lottie import Point, Color


an = objects.Animation(100)

layer = objects.ShapeLayer()
an.add_layer(layer)

settings = [
    (Color(1,  1, 0), 128, 7),
    (Color(1,  0, 0), 256, 15),
    (Color(0, .5, 1), 384, 30),
]

for color, x, falloff in settings:
    group = layer.add_shape(objects.Group())
    ball = group.add_shape(objects.Ellipse())
    ball.size.value = Point(100, 100)
    group.add_shape(objects.Fill(color))
    group.transform.position.value = Point(x, -100)
    spring_pull(group.transform.position, Point(x, 256), 0, 60, falloff, 7)
    group.transform.position.add_keyframe(85, Point(x, -100))


script.script_main(an)
Esempio n. 8
0
an = objects.Animation(last_frame)


base = an.add_layer(objects.NullLayer())
base.transform.anchor_point.value = base.transform.position.value = Point(256, 256)
base.transform.rotation.add_keyframe(0, 0)
base.transform.rotation.add_keyframe(last_frame, 360)


star_layer = objects.ShapeLayer()
base.add_child(star_layer)
star = star_layer.add_shape(objects.Star())
star.inner_radius.value = 20
star.outer_radius.value = 50
star.position.value = Point(50, 50)
star_layer.add_shape(objects.Fill(Color(1, 1, 0)))
star_layer.add_shape(objects.Stroke(Color(0, 0, 0), 5))
star_layer.transform.anchor_point = star.position
star_layer.transform.position.value = Point(50, 256)
star_layer.transform.rotation.add_keyframe(0, 0)
star_layer.transform.rotation.add_keyframe(last_frame, -360)


circle_layer = objects.ShapeLayer()
an.add_layer(circle_layer)
circle_layer.parent = base
circle = circle_layer.add_shape(objects.Ellipse())
circle.size.value = NVector(100, 100)
circle_layer.add_shape(objects.Fill(Color(1, 0, 0)))
circle_layer.add_shape(objects.Stroke(Color(0, 0, 0), 5))
circle_layer.transform.position.add_keyframe(0, Point(256, 512-50))
Esempio n. 9
0
an = objects.Animation(59)

layer = objects.ShapeLayer()
an.add_layer(layer)

g1 = layer.add_shape(objects.Group())

circle = g1.add_shape(objects.Ellipse())
circle.size.value = Point(100, 100)
circle.position.value = Point(128, 156)

fill = g1.add_shape(objects.GradientFill())
fill.start_point.value = Point(100, 0)
fill.end_point.value = Point(200, 0)
fill.colors.set_stops([(0, Color(1, 0, 0)), (1, Color(1, 1, 0))])

stroke = g1.add_shape(objects.GradientStroke(5))
stroke.start_point.value = Point(100, 0)
stroke.end_point.value = Point(200, 0)
stroke.colors.add_keyframe(0, [(0, Color(1, 0, 0)), (1, Color(1, 1, 0))])
stroke.colors.add_keyframe(10, [(0, Color(1, 1, 0)), (1, Color(0, 1, 0))])
stroke.colors.add_keyframe(30, [(0, Color(1, 0, 1)), (1, Color(0, 0, 1))])
stroke.colors.add_keyframe(59, [(0, Color(1, 0, 0)), (1, Color(1, 1, 0))])
stroke.colors.count = 2
stroke.width.value = 10

g2 = layer.add_shape(objects.Group())

circle = g2.add_shape(objects.Ellipse())
circle.size.value = Point(200, 200)
Esempio n. 10
0
rot_time = 45
an = objects.Animation(rot_time*4)


layer = objects.ShapeLayer()
an.add_layer(layer)


def add_shape(shape, color, parent):
    g = parent.add_shape(objects.Group())
    s = g.add_shape(shape)
    g.add_shape(objects.Fill(color))
    return s


face1 = add_shape(objects.Ellipse(), Color(1, 1, 0), layer)
face2 = add_shape(objects.Ellipse(), Color(0, 1, 0), layer)

side = layer.add_shape(objects.Group())
side1 = add_shape(objects.Ellipse(), Color(1, 0, 0), side)
side2 = add_shape(objects.Ellipse(), Color(1, 0, 0), side)
sider = add_shape(objects.Rect(), Color(1, 0, 0), side)


width = 10

face1.size.add_keyframe(rot_time*0, Point(256, 256), easing.EaseIn())
face1.size.add_keyframe(rot_time*1, Point(0, 256))
face1.size.add_keyframe(rot_time*2, Point(0, 256))
face1.size.add_keyframe(rot_time*3, Point(0, 256), easing.EaseOut())
face1.size.add_keyframe(rot_time*4, Point(256, 256))
Esempio n. 11
0
an = objects.Animation(last_frame)

layer = objects.ShapeLayer()
an.add_layer(layer)
layer.auto_orient = True

group = layer.add_shape(objects.Group())
star = objects.Star()
star.inner_radius.value = 20
star.outer_radius.value = 50
star.position.value = Point(0, 0)
group.add_shape(star)

group.add_shape(objects.Ellipse(NVector(0, 35), NVector(16, 16)))

layer.add_shape(objects.Fill(Color(1, 1, 0)))

tl = 120
layer.transform.position.add_keyframe(last_frame / 4 * 0,
                                      Point(+50, 256),
                                      out_tan=NVector(0, -tl),
                                      in_tan=NVector(-tl, 0))
layer.transform.position.add_keyframe(last_frame / 4 * 1,
                                      Point(256, +50),
                                      out_tan=NVector(+tl, 0),
                                      in_tan=NVector(0, -tl))
layer.transform.position.add_keyframe(last_frame / 4 * 2,
                                      Point(462, 256),
                                      out_tan=NVector(0, +tl),
                                      in_tan=NVector(+tl, 0))
layer.transform.position.add_keyframe(last_frame / 4 * 3,
Esempio n. 12
0
#!/usr/bin/env python3
"""
@note Text layers are not supported by telegram
"""
import sys
import os
sys.path.insert(
    0,
    os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
                 "lib"))
from lottie.utils import script
from lottie import objects
from lottie import Color, Point

an = objects.Animation(120)
an.fonts = objects.text.FontList()
an.fonts.append(objects.text.Font("sans", name="sans"))
layer = objects.TextLayer()
an.add_layer(layer)

layer.data.add_keyframe(
    0, objects.text.TextDocument("Text", 200, Color(1, 0, 0), "sans"))
layer.data.add_keyframe(
    60, objects.text.TextDocument("Here", 200, Color(0, 1, 0), "sans"))
layer.transform.position.value = Point(30, 200)

script.script_main(an)