Preview:
from PIL import Image
import numpy

class RGBAPacker(object):
    def process(self, output_file, inputs=None):
    	# -- we assume "inputs" is a dictionary of image files, with the keys corresponding to the channels they want packing in.
    	inputs = inputs or dict()
    	r = Image.open(inputs.get('mask1')).convert('L')
        g = Image.open(inputs.get('mask2')).convert('L')
        
        # -- our procedurally generated blue channel is the multiplied result of the first and second masks. 
        # -- This is a super simple operation, but you can make this as complex as you like.
        b = numpy.asarray(r) * numpy.asarray(g)
        b = Image.fromarray(b)
        
        output = Image.merge('RGB', r, g, b)
        output.save(output_file)
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter