问题描述
self.image = pygame.Surface(
int(math.sqrt((end_pos[1] - start_pos[1])**2 +(end_pos[0] - start_pos[0])**2)),width)
返回错误:
ValueError: size needs to be (int width,int height)
解决方法
pygame.Surface
的构造函数的参数是一个具有 Surface (import string
import tkinter as tk
import tkinter.messagebox
import base64
import os
import bottom as bottom
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
from cryptography.fernet import Fernet
def createKey():
key = Fernet.generate_key()
print(key)
file = open('key.key','wb')
file.write(key)
file.close()
password_provided = "password"
password = password_provided.encode()
salt = os.urandom(e2.get())
kdf = PBKDF2HMAC(
algorithm=hashes.SHA256(),length=32,salt=salt,iterations=100000,backend=default_backend()
)
key = base64.urlsafe_b64encode(kdf.derive(password))
print(key)
def encryptFile():
file = open('key.key','rb')
key = file.read()
file.close()
print("File name: %s" % (e1.get()))
str1 = e1.get()
str2 = '.encrpyted'
str3 = str1 + str2
print("After encryption: %s" % (str3))
with open(e1.get(),'rb') as f:
data = f.read()
fernet = Fernet(key)
encrypted = fernet.encrypt(data)
with open(str3,'wb') as f:
f.write(encrypted)
master = tk.Tk()
tk.Label(master,text="Choose").grid(row=0)
tk.Label(master,text="key Size").grid(row=1)
e1 = tk.Entry(master)
e2 = tk.Entry(master)
e1.grid(row=0,column=1)
e2.grid(row=1,column=1)
tk.Button(master,text='Create key',command=createKey).grid(row=3,column=0,sticky=tk.W,pady=4)
tk.Button(master,text='Encrpyt',command=encryptFile).grid(row=3,column=1,pady=4)
tk.mainloop()
) 大小的元组:
pygame.Surface((with,height))
self.image = pygame.Surface(int(math.sqrt((end_pos[1] - start_pos[1])**2 +(end_pos[0] - start_pos[0])**2)),width)
分别
self.image = pygame.Surface(
(int(math.sqrt((end_pos[1] - start_pos[1])**2 +(end_pos[0] - start_pos[0])**2)),width))