如何解决即使表面看起来是正确的,也无法创建表面
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))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。