Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import qrcode
- import random,string
- from hashlib import blake2b
- import os
- from PIL import Image
- def makeQRcode(text):
- #version, tall mellom 1-40
- qr = qrcode.QRCode(version=None,error_correction=qrcode.constants.ERROR_CORRECT_L,box_size=10,border=4,)
- qr.add_data(text)
- qr.make(fit=True)
- img = qr.make_image(fill_color="black", back_color="white")
- print(img.size)
- #img.show()
- return img
- #makeQRcode("www.backtraqr.com")
- def lengdetest():
- text = "www.backtraQR.com/"
- kodestring = ""
- for i in range(100):
- kodestring += random.choice(string.ascii_letters)
- url = text+kodestring
- img = makeQRcode(url)
- print("URL: "+url+" --- kodelengde: "+str(len(kodestring))+" --- pixeldimensjon: "+str(img.size) )
- def createHash(text,length):
- hashout = blake2b(str.encode(text)).hexdigest()[:length]
- return hashout
- def URLmaker(indeX):
- URL = "www.backtraQR.com/"
- specific = createHash("BacktraQRTest!"+str(indeX),15)
- return URL,specific
- #lengdetest()
- #createHash("kristoffer")
- def lagSamling(antall,mappenavn):# lager masse QRkoder og legger dem i ønkset mappe
- mappelocation = os.getcwd()+"/"+mappenavn
- os.mkdir(mappelocation)
- os.chdir(mappelocation)
- for i in range(antall):
- URL,specific = URLmaker(i)
- img = makeQRcode(URL+specific)
- img.save(specific+".png")
- print(specific+ " Done")
- print("----Ferdig----")
- os.chdir(mappelocation)
- #lagSamling(1000,"Test3")
- #Lag bilde med
- def makeNewBlankImage(sizex,sizey):
- blank_image = Image.new('RGBA', (sizex,sizey), 'white')
- return blank_image
- def bildeOgQRmaker(i,location):# merger logo og QRkode
- URL,specific = URLmaker(i)
- QR = makeQRcode(URL+specific)
- hattBilde = Image.open(location+"/"+"logoNew.png")
- QRsize = QR.size
- #QR.show()
- LogoSize = hattBilde.size
- ULCorner = ((LogoSize[0]-QRsize[0])//2,(LogoSize[1]-QRsize[1])//2)
- OffsetX = -12
- OffsetY = 122
- for i in range(QRsize[0]):
- for j in range(QRsize[1]):
- pixel = QR.getpixel((i,j))
- frame = 0
- if 0 <= j <= frame or 0 <= i <= frame or QRsize[0]-frame <= j <= QRsize[0] or QRsize[1]-frame <= i <= QRsize[1]:
- pixel = 0
- hattBilde.putpixel((ULCorner[0]+i+OffsetX,ULCorner[1]+j+OffsetY),(pixel,pixel,pixel))
- return hattBilde
- #bildeOgQRmaker(1,os.getcwd())
- def LogoOgQRGenerator(antall,mappenavn):# lager masse QRkoder med logo og legger dem i ønsket mappe
- yttermappe = os.getcwd()
- mappelocation = os.getcwd()+"/"+mappenavn
- os.mkdir(mappelocation)
- os.chdir(mappelocation)
- for i in range(antall):
- URL,specific = URLmaker(i)
- img = bildeOgQRmaker(i,yttermappe)
- img.save(specific+".png")
- print(str(i)+" "+specific + " Done")
- print("----Ferdig----")
- os.chdir(yttermappe)
- LogoOgQRGenerator(20,"20NyLogo")
- def doblebilde():# forstørrer alle bildene x2 i alle retninger
- img = Image.open("logo22.png")
- sizex,sizey = img.size
- print(sizex,sizey)
- doblepic = makeNewBlankImage(sizex*2,sizey*2)
- #img.show()
- #doblepic.show()
- for i in range(sizex):
- for j in range(sizey):
- pixel = img.getpixel((i,j))
- doblepic.putpixel((i*2,j*2),pixel)
- doblepic.putpixel((i*2+1,j*2),pixel)
- doblepic.putpixel((i*2,j*2+1),pixel)
- doblepic.putpixel((i*2+1,j*2+1),pixel)
- #doblepic.show()
- doblepic.save("logo22Stor.png")
- #doblebilde()
- def kodegenerator(antall):
- filnavn = str(antall)+"-codes.txt"
- file = open(filnavn,"w+")
- mothercode = ""
- code = ""
- for i in range(antall):
- if i%10==0:
- mothercode = createHash("AwesomeMothercode"+str(i),14)
- code = createHash("BacktraqrWin"+str(i),15)
- line = str(i+1)+" "+code+" "+mothercode+"\n"
- file.write(line)
- file.close()
- #kodegenerator(1000000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement