#Carlos Triana from PIL import Image def main(): mensaje = raw_input('Ingresa el mensaje: ') large = len(mensaje) miLista = [] iterator = 0 while iterator<large: letra = mensaje[iterator] binario = bin(ord(letra))[2:] j = 0 while j<7: number = (binario[j]) #binario = int(binario) miLista.append(number) j = j+1 iterator = iterator+1 largeofList = len(miLista) print largeofList print miLista #print type(miLista) #print #print 'Valores de la lista = ', miLista #print type(miLista[1]) i = 0 x = 0 y = 0 im = Image.open("ars05.jpg") for x in xrange(im.size[0]): for y in xrange(im.size[1]): pix = im.load() tupla = pix[x, y] if i < largeofList: a = tupla[0] b = tupla[1] c = tupla[2] #Sacar el valor de a(int) en binario aBinario = bin(a)[2:] if miLista[i] == aBinario[-1]: a = a+0 #Stupid, but it solves an error i = i+1 elif miLista[i] == 0 and aBinario[-1] == 1: a = a-1 i = i+1 elif miLista[i] == 1 and aBinario[-1] == 0: a = a+1 i = i+1 #Sacar el valor de b(int) en binario bBinario = bin(b)[2:] if miLista[i] == bBinario[-1]: b = b+0 i = i+1 elif miLista[i] == 0 and bBinario[-1] == 1: b = b-1 i = i+1 elif miLista[i] == 1 and bBinario[-1] == 0: b = b+1 i = i+1 #Sacar el valor de c(int) en binario cBinario = bin(c)[2:] if miLista[i] == cBinario[-1]: c = c+0 i = i+1 elif miLista[i] == 0 and cBinario[-1] == 1: c = c-1 i = i+1 elif miLista[i] == 1 and cBinario[-1] == 0: c = c+1 i = i+1 newTupla = (a,b,c) im.putpixel((x, y), newTupla) else: tupla = pix[x, y] im.putpixel((x, y), tupla) #newTupla = (newA,newB,newC) #im.putpixel((x, y), newTupla) i = i+1 im.save('new05.png') main()