205.jpg.2011-03-04-23h31m18s-0.jpg

hachures-out-2010-04-02-23h53m21s-0.jpg

hachures-out-2010-04-03-15h30m12s-3.jpg

hachures-out-2011-01-15-00h42m52s-2.jpg

hachures-out-2011-01-15-00h42m53s-3.jpg

hachures-out-2011-01-15-00h42m51s-0.jpg

#!/usr/bin/python # -*- coding: latin-1 -*- import Image, random, os, ImageDraw import ImageFont import ImageFilter from time import gmtime, strftime import sys im1 = Image.open(sys.argv[1]) im2 = im1.copy() im3 = Image.new("RGBA", (im1.size[0], im1.size[1])) for i in range(1): im4 = Image.new("RGBA", (im1.size[0], im1.size[1])) im4.paste(im1, (0, 0, im1.size[0], im1.size[1])) Larg = im1.size[0] Haut = im1.size[1] # constitution de la liste des valeurs de hauteur ou vont s'opérer les hachures #----------------------------------------------------------------------------------- def randHaut(): return random.randint(0, im1.size[1]) randomCoupeHauteur = [0, \ randHaut(),randHaut(),randHaut(),randHaut(),\ randHaut(),randHaut(),randHaut(),randHaut(),randHaut(), \ randHaut(),randHaut(),randHaut(),randHaut(),randHaut(), \ randHaut(),randHaut(),randHaut(),randHaut(),randHaut(), im1.size[1]] # rangement des valeurs des plus petites au plus grandes randomCoupeHauteur.sort() # print randomCoupeHauteur # les hachures #----------------------------------------------------------------------------------- def Hacheur(haut, bas) : n=0 while n<im1.size[0] : # largeur aléatoire de la zone copiée (suite basée sur le nombre d'or) # randomListe = [(2560,1),(1280,2),(640,3),(320,5),(160,7),(80,12),(40,19),(20,31),(10,50)] randomListe = [(640,3),(320,5),(160,7),(80,12),(40,19),(20,31),(10,50)] randomFacteur = random.randint(0, 6) randomCopyLargFinal = randomListe[randomFacteur][0] repeat = randomListe[randomFacteur][1] # a une position aleatoire inferieure a la taille de l'image randomCopyPosi = random.randint(0, (im1.size[0]-randomCopyLargFinal)) cx1 = randomCopyPosi cx2 = randomCopyPosi + randomCopyLargFinal #repeat = randomFacteur - randomCopyLarg loop = 0 # effets sur im3 # import ImageFilter # ... im3 = im2.crop((cx1,haut,cx2,bas)) draw = ImageDraw.Draw(im4) ''' draw.line((cx1,haut,cx2,haut), fill="rgb(255,255,255)") draw.line((cx2,haut,cx2,bas), fill="rgb(255,255,255)") draw.line((cx2,bas,cx1,bas), fill="rgb(255,255,255)") draw.line((cx1,bas,cx1,haut), fill="rgb(255,255,255)") ''' while loop<repeat: px1 = n px2 = n + randomCopyLargFinal draw = ImageDraw.Draw(im3) draw.line((0, 0, im3.size[0]-1, 0), fill="rgb(127,127,127)") draw.line((im3.size[0]-1, 0, im3.size[0]-1, im3.size[1]-1), fill="rgb(127,127,127)") im4.paste(im3, (px1, haut, px2, bas)) n = n + randomCopyLargFinal loop = loop + 1 #print n # les tranches horizontales intactes soulignées de blanc #----------------------------------------------------------------------------------- def TrancheHorizontale() : # tirage au hasard de la bande copiee pos = random.randint(0, im1.size[1]-im1.size[1]/20) # copiage im5 = im2.crop((0,pos,im1.size[0],pos+im1.size[1]/20)) # le soulignage en blanc draw = ImageDraw.Draw(im5) draw.line((0, im5.size[1]-1, im5.size[0], im5.size[1]-1), fill="rgb(127,127,127)") draw.line((0, 0, im5.size[0], 0), fill="rgb(127,127,127)") # collage im4.paste(im5, (0,pos,im1.size[0],pos+im1.size[1]/20)) #Hacheur(0, im1.size[1]) Hacheur(0, randomCoupeHauteur[0]) Hacheur(randomCoupeHauteur[0], randomCoupeHauteur[1]) Hacheur(randomCoupeHauteur[1], randomCoupeHauteur[2]) Hacheur(randomCoupeHauteur[2], randomCoupeHauteur[3]) Hacheur(randomCoupeHauteur[3], randomCoupeHauteur[4]) Hacheur(randomCoupeHauteur[4], randomCoupeHauteur[5]) Hacheur(randomCoupeHauteur[5], randomCoupeHauteur[6]) Hacheur(randomCoupeHauteur[6], randomCoupeHauteur[7]) Hacheur(randomCoupeHauteur[7], randomCoupeHauteur[8]) Hacheur(randomCoupeHauteur[8], randomCoupeHauteur[9]) Hacheur(randomCoupeHauteur[9], randomCoupeHauteur[10]) Hacheur(randomCoupeHauteur[10], randomCoupeHauteur[11]) Hacheur(randomCoupeHauteur[11], randomCoupeHauteur[12]) Hacheur(randomCoupeHauteur[12], randomCoupeHauteur[13]) Hacheur(randomCoupeHauteur[13], randomCoupeHauteur[14]) Hacheur(randomCoupeHauteur[14], im1.size[1]) TrancheHorizontale() TrancheHorizontale() TrancheHorizontale() TrancheHorizontale() TrancheHorizontale() # TEXTE # draw = ImageDraw.Draw(im4) # use a truetype font #font = ImageFont.truetype("arial.ttf", 15) #im4.text((10, 25), "world", font=font) saveas = sys.argv[1] saveas = saveas[0:5] #im4.save(saveas+"."+strftime("%Y-%m-%d-%Hh%Mm%Ss", gmtime())+"-"+str(i)+".jpg",qualmity=100) #ImageHachee = sys.argv[1]+"."+strftime("%Y-%m-%d-%Hh%Mm%Ss", gmtime())+"-"+str(i)+".jpg" #im4.save(Imagehachee ,qualmity=100) #sys.argv[1]+"."+strftime("%Y-%m-%d-%Hh%Mm%Ss", gmtime())+"-"+str(i)+".jpg" im4.save(sys.argv[1]+"."+strftime("%Y-%m-%d-%Hh%Mm%Ss", gmtime())+"-"+str(i)+".jpg" ,qualmity=100) #return ImageHachee