| from PIL import Image, ImageDraw, ImageFont import natsort import os   def add_number_to_images(input_folder, output_folder):     """     在指定文件夹内的每张图片右下角添加编号     :param input_folder: 输入文件夹路径     :param output_folder: 输出文件夹路径     """     if not os.path.exists(output_folder):         os.makedirs(output_folder)       # 获取所有图片文件 使用自然排序     image_files = natsort.natsorted(os.listdir(input_folder))         for index, file_name in enumerate(image_files):         # 打开图片         img_path = os.path.join(input_folder, file_name)         img = Image.open(img_path)           # 获取图片大小         img_width, img_height = img.size           # 创建绘图对象         draw = ImageDraw.Draw(img)           # 设置字体         font_size = max(30, int(img_width * 0.03))         font = ImageFont.truetype("simhei.ttf", font_size)           # 文本内容和颜色         text = f"编号:{index + 1}"         text_color = (0, 0, 0)  # 黑色字体         shadow_color = (0, 0, 0)  # 黑色阴影           # 获取文本尺寸         bbox = draw.textbbox((0, 0), text, font=font)         text_width = bbox[2] - bbox[0]         text_height = bbox[3] - bbox[1]           # 计算文本位置         x = img_width - text_width - 190         y = img_height - text_height - 30           # 绘制文本阴影         draw.text((x + 1, y + 1), text, font=font, fill=shadow_color)           # 绘制文本         draw.text((x, y), text, font=font, fill=text_color)           # 保存处理后的图片         output_path = os.path.join(output_folder, file_name)         img.save(output_path)       print(f"所有图片已处理并保存到:{output_folder}")   if __name__ == "__main__":     # 输入和输出文件夹路径     input_dir = "图片"  # 输入图片的文件夹     output_dir = "处理后图片"  # 处理后图片的保存文件夹     if not os.path.exists(input_dir):         os.mkdir(output_dir)       add_number_to_images(input_dir, output_dir) |