LuxAlgo

PineGIF - Display Gifs & Images In Tradingview [LUX]

Pinescript is not designed to create or display images, let alone gifs, but it's very fun to try, and that's what this script does. This script allows the user to display three different gifs. In this post, we explain how we managed to display images/gif's using pinescript tables.

1. Image Pre-Processing

Due to pinescript limitations, we can't possibly display images with an excessively high resolution. As such we targeted pixel art as a primary image source. We used a pixel art gif of the magnificent Octocat (the mascot for the source-code hosting service GitHub) for our first try.

We first extract each frame from the gif and resize them to a 50x50 resolution which returns frames made of 2500 pixels. This process was done using python.

Getting Individual Pixels RGBA Values

Python can easily return a matrix containing each pixel's rgba value. For convenience, we converted the rgba values to hex.

We then create a simple code allowing us to return a pinescript array containing the 2500 pixel hex colors. We do this process for each frame.

2. Defining Table Cell Color

In the code, each frame is its own array. We create a new table with dimensions equal to len(frame1)^2 (we assume height = width).

The color of a cell is defined by the color of the image pixel at the same exact location. When a new bar is created, we do this exact process using a different frame which ultimately allows a new frame to be displayed.

3. Playing The GIFs

By default, the script will play the gif of the Tradingview cloud logo raining. In order to play the gif , simply use the replay mode. The replay speed allows the user to determine the frame rate (0.1 for the raining cloud and Nyan cat works best, 0.5 for Octocat).

We included the frames of the Octocat and Nyan cat gifs in the script.

4. Some Other Cool Images

Displaying static images is possible and involves the same process described above.




An original idea of the lizard, implemented by the wizard.


Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?