Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.01 KB | None | 0 0
  1. import qrcode
  2. import random,string
  3. from hashlib import blake2b
  4. import os
  5. from PIL import Image
  6.  
  7. def makeQRcode(text):
  8.     #version, tall mellom 1-40
  9.     qr = qrcode.QRCode(version=None,error_correction=qrcode.constants.ERROR_CORRECT_L,box_size=10,border=4,)
  10.     qr.add_data(text)
  11.     qr.make(fit=True)
  12.     img = qr.make_image(fill_color="black", back_color="white")
  13.     print(img.size)
  14.     #img.show()
  15.     return img
  16.  
  17. #makeQRcode("www.backtraqr.com")
  18.  
  19. def lengdetest():
  20.     text = "www.backtraQR.com/"
  21.     kodestring = ""
  22.     for i in range(100):
  23.         kodestring += random.choice(string.ascii_letters)
  24.         url = text+kodestring
  25.         img = makeQRcode(url)
  26.         print("URL: "+url+" --- kodelengde: "+str(len(kodestring))+"  ---  pixeldimensjon: "+str(img.size) )
  27.  
  28.  
  29. def createHash(text,length):
  30.     hashout = blake2b(str.encode(text)).hexdigest()[:length]
  31.     return hashout
  32.  
  33. def URLmaker(indeX):
  34.     URL = "www.backtraQR.com/"
  35.     specific = createHash("BacktraQRTest!"+str(indeX),15)
  36.     return URL,specific
  37.  
  38. #lengdetest()
  39. #createHash("kristoffer")
  40.  
  41. def lagSamling(antall,mappenavn):# lager masse QRkoder og legger dem i ønkset mappe
  42.     mappelocation = os.getcwd()+"/"+mappenavn
  43.     os.mkdir(mappelocation)
  44.     os.chdir(mappelocation)
  45.     for i in range(antall):
  46.         URL,specific = URLmaker(i)
  47.         img = makeQRcode(URL+specific)
  48.         img.save(specific+".png")
  49.         print(specific+ "  Done")
  50.     print("----Ferdig----")
  51.     os.chdir(mappelocation)
  52. #lagSamling(1000,"Test3")
  53.  
  54.  
  55. #Lag bilde med
  56.  
  57. def makeNewBlankImage(sizex,sizey):
  58.     blank_image = Image.new('RGBA', (sizex,sizey), 'white')
  59.     return blank_image
  60.  
  61. def bildeOgQRmaker(i,location):# merger logo og QRkode
  62.     URL,specific = URLmaker(i)
  63.     QR = makeQRcode(URL+specific)
  64.     hattBilde = Image.open(location+"/"+"logoNew.png")
  65.     QRsize = QR.size
  66.     #QR.show()
  67.     LogoSize = hattBilde.size
  68.     ULCorner = ((LogoSize[0]-QRsize[0])//2,(LogoSize[1]-QRsize[1])//2)
  69.     OffsetX = -12
  70.     OffsetY = 122
  71.     for i in range(QRsize[0]):
  72.         for j in range(QRsize[1]):
  73.             pixel = QR.getpixel((i,j))
  74.             frame = 0
  75.             if 0 <= j <= frame or 0 <= i <= frame or QRsize[0]-frame <= j <= QRsize[0] or QRsize[1]-frame <= i <= QRsize[1]:
  76.                 pixel = 0
  77.             hattBilde.putpixel((ULCorner[0]+i+OffsetX,ULCorner[1]+j+OffsetY),(pixel,pixel,pixel))
  78.     return hattBilde
  79. #bildeOgQRmaker(1,os.getcwd())
  80.  
  81. def LogoOgQRGenerator(antall,mappenavn):# lager masse QRkoder med logo og legger dem i ønsket mappe
  82.     yttermappe = os.getcwd()
  83.     mappelocation = os.getcwd()+"/"+mappenavn
  84.     os.mkdir(mappelocation)
  85.     os.chdir(mappelocation)
  86.     for i in range(antall):
  87.         URL,specific = URLmaker(i)
  88.         img = bildeOgQRmaker(i,yttermappe)
  89.         img.save(specific+".png")
  90.         print(str(i)+"  "+specific + "  Done")
  91.     print("----Ferdig----")
  92.     os.chdir(yttermappe)
  93. LogoOgQRGenerator(20,"20NyLogo")
  94.  
  95.  
  96.  
  97.  
  98.  
  99. def doblebilde():# forstørrer alle bildene x2 i alle retninger
  100.     img = Image.open("logo22.png")
  101.     sizex,sizey = img.size
  102.     print(sizex,sizey)
  103.     doblepic = makeNewBlankImage(sizex*2,sizey*2)
  104.     #img.show()
  105.     #doblepic.show()
  106.     for i in range(sizex):
  107.         for j in range(sizey):
  108.             pixel = img.getpixel((i,j))
  109.             doblepic.putpixel((i*2,j*2),pixel)
  110.             doblepic.putpixel((i*2+1,j*2),pixel)
  111.             doblepic.putpixel((i*2,j*2+1),pixel)
  112.             doblepic.putpixel((i*2+1,j*2+1),pixel)
  113.     #doblepic.show()
  114.     doblepic.save("logo22Stor.png")
  115.    
  116. #doblebilde()
  117.  
  118. def kodegenerator(antall):
  119.     filnavn = str(antall)+"-codes.txt"
  120.     file = open(filnavn,"w+")
  121.     mothercode = ""
  122.     code = ""
  123.     for i in range(antall):
  124.         if i%10==0:
  125.             mothercode = createHash("AwesomeMothercode"+str(i),14)
  126.         code = createHash("BacktraqrWin"+str(i),15)
  127.         line = str(i+1)+" "+code+" "+mothercode+"\n"
  128.         file.write(line)
  129.     file.close()
  130. #kodegenerator(1000000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement