from random import randrange import os def display_phenos(genos = None, start = 1, number = True): colors = ['black','red','green','yellow','blue','magenta','cyan','white'] colors_bright_im = ['#000000','#ff0000','#00ff00','#ffff00','#0000ff','#ff00ff','#00ffff','#ffffff'] colors_dim_im = ['#000000','#800000','#008000','#808000','#000080','#800080','#008080','#ffffff'] sizes = ['wee','small','large','giant'] sizes_im = ['25%x25%','35%x35%','65%x65%','100%x100%'] opacs = ['clear','tinted','shaded','opaque'] opacs_im = ['ff','80','40','00'] if not genos: genos = range(16) for j in range(len(genos)): genos[j] = randrange(0,255) for j in range(len(genos)): geno = genos[j] #pheno = ['red','green','blue','dim','size1','size2','opac1','opac2'] if number: print j + start, if geno & 8: print "dim", dim = True else: print "bright", dim = False print ",", for color in range(len(colors)): if geno & 7 == color: print colors[color], if dim: color_im = colors_dim_im[color] else: color_im = colors_bright_im[color] print ",", for size in range(len(sizes)): if geno & 48 == size << 4: print sizes[size], size_im = sizes_im[size] print ",", for opac in range(len(opacs)): if geno & 192 == opac << 6: print opacs[opac], opac_im = opacs_im[opac] print "\t\tgenome = ", geno if number: code = "convert -fill \"%s%s\" -draw \"color 0,0 reset\" box_model_shaded.png color.png;composite box_model_top.png color.png temp%s.png; composite temp%s.png box_model_bottom.png %s.png; mogrify -scale %s %s.png; rm temp%s.png" % (color_im,opac_im,j+start,j+start,j+start,size_im,j+start,j+start) output = os.popen(code) if __name__ == "__main__": display_phenos()