diff --git a/main.py b/main.py index e923a4b226dc50f5043bf435c33aa88592a125ce..d0df335b6987c37467dcfd1d05a303079cb5690a 100644 --- a/main.py +++ b/main.py @@ -12,6 +12,16 @@ import sys # sys模块提供了与Python解释器和运行环境相关的变量 from image_utils import language_data, logging # 从image_utils模块中导入language_data和logging import image_utils as utils # 导入image_utils模块并给它一个别名utils import subprocess # subprocess模块允许你生成新的进程,连接它们的输入、输出和错误管道,并获取它们的返回码 +import json + +try: + with open(r'C:\Users\Renaissance\Desktop\image_processing_desktop_app_todo-master\image_processing_desktop_app_todo-master\language.json', 'r', encoding='utf-8') as f: + language_data = json.load(f) +except UnicodeDecodeError: + # 尝试其他编码方式 + with open(r'C:\Users\Renaissance\Desktop\image_processing_desktop_app_todo-master\image_processing_desktop_app_todo-master\language.json', 'r', encoding='latin-1') as f: + language_data = json.load(f) + class ImageProcessor: @@ -144,8 +154,8 @@ class ImageProcessor: return image_io.save_image(channel, save_path) tk.messagebox.showinfo(language_data[self.current_language]['success'], language_data[self.current_language]['channel_saved'].format(index, save_path)) - - save_button = tk.Button(window, text=language_data[self.current_language]['save_channel'], command=lambda channel=channel: save_channel(channel, i)) + + save_button = tk.Button(window, text=language_data[self.current_language]['save_channel'], command=lambda ch=channel,idx=i: save_channel(ch, idx)) save_button.pack() window.update() @@ -188,10 +198,10 @@ class ImageProcessor: filename = os.path.basename(self.image_path) # 计算其他基本信息 - total_pixels = # TODO: 获取图像的总像素数 - shape = # TODO: 获取图像的形状(高度,宽度,通道数) - channels = # TODO: 获取图像的通道数,注意不是维度,而是通道数 - dtype = # TODO: 获取图像像素的数据类型 + total_pixels =self.image # TODO: 获取图像的总像素数 + shape =self.image.size[::-1] # TODO: 获取图像的形状(高度,宽度,通道数) + channels =len(self.iamge.getbands()) # TODO: 获取图像的通道数,注意不是维度,而是通道数 + dtype =self.image.mode # TODO: 获取图像像素的数据类型 # 构建信息字符串,包括文件名 details = language_data[self.current_language]['info_str'].format(filename,total_pixels,shape,channels,dtype)