Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use png images with Lottie iOS?

I tried exporting an after effect file with bodymovin, that after effect file has a few png images. How do we use this with Lottie in iOS? Do we include those images in the asset catalog, and use them alongside the json file?

like image 941
Tom Xue Avatar asked Oct 16 '17 20:10

Tom Xue


People also ask

Can I use PNG in Lottie?

Convert PNG files to Lottie You can try converting your PNG file to an SVG file using an online automatic vectorization tool, then using LottieFiles' SVG to Lottie tool. But this may only work with PNG files that feature simple, 2D illustrations.

Can I use images in Lottie?

While Lotties are typically created from vectors, images can easily be added as part of the composition with a simple tweak to the settings.


3 Answers

The answer to your question is YES. Drop in your JSON file and place the images in the assets catalog. I tried it with this sample JSON/assets https://www.lottiefiles.com/1187-puppy-run. One thing to note that on Xcode when you drop the image assets, you may need to move them to 2x.

This is my current setup: Current setup

like image 108
Jen C Avatar answered Oct 18 '22 06:10

Jen C


According to this function

https://github.com/airbnb/lottie-ios/blob/973c08da8ccf3dbc171bcd9e8748e6368c5a2107/lottie-ios/Classes/AnimatableLayers/LOTLayerContainer.m#L126

It tries to load it different ways including from the asset catalog -- that's what line 147 in that file would do:

  NSArray *components = [asset.imageName componentsSeparatedByString:@"."];
  image = [UIImage imageNamed:components.firstObject inBundle:asset.assetBundle compatibleWithTraitCollection:nil];
like image 1
Lou Franco Avatar answered Oct 18 '22 05:10

Lou Franco


You can put all images next to the json.

enter image description here

After that you can just play animation:

let animation = LOTAnimationView(name: "LogoAnimation")
animation.play()
like image 1
alxndr Avatar answered Oct 18 '22 06:10

alxndr