Tutorial 65: ASCII & Text Generation

Joe Clay | Apr 7, 2017

Today we take a look at using an expression using sampleImage to generate text and make some really slow rendering ASCII art. I'm sure there are faster ways to do this, but this is an academic look at the process behind it, so that you can learn these techniques and hopefully find another use for them.

While I was able to make the intro work, unless you really need this effect, it's not worth attempting. I had to split up my HD frame into 4 quadrants. Two were rendered as stills, and two were rendered as videos. I cut the clips slightly in Premiere, but for about this length each section took an hour to render on my decently spec'd hackintosh.

Also, make sure to check out Mainframe's tutorial on Lester Banks, and that awesome site were I found that ASCII gradient.


string = thisComp.layer("Ramp").text.sourceText;
layer = thisComp.layer("Ramp").effect("Gradient Layer")("Layer");
s = layer.sampleImage(thisLayer.position)[0];
s = Math.floor(s*(string.length-1));

Become a Patron

If you'd like to help support Workbench, check out our Patreon page. Thank you for even considering clicking this link to support what we're doing. We appreciate it. Patrons get all sorts of benefits, from R&D files, setups, and elements to early product releases.

Check out our Patreon Today

Grab the Project Files

Feel free to download the project file that you can use in your own projects!