MCPcopy
hub / github.com/HisMax/RedInk / _save_image

Method _save_image

backend/services/image.py:106–136  ·  view source on GitHub ↗

保存图片到本地,同时生成缩略图 Args: image_data: 图片二进制数据 filename: 文件名 task_dir: 任务目录(如果为None则使用当前任务目录) Returns: 保存的文件路径

(self, image_data: bytes, filename: str, task_dir: str = None)

Source from the content-addressed store, hash-verified

104 return f.read()
105
106 def _save_image(self, image_data: bytes, filename: str, task_dir: str = None) -> str:
107 """
108 保存图片到本地,同时生成缩略图
109
110 Args:
111 image_data: 图片二进制数据
112 filename: 文件名
113 task_dir: 任务目录(如果为None则使用当前任务目录)
114
115 Returns:
116 保存的文件路径
117 """
118 if task_dir is None:
119 task_dir = self.current_task_dir
120
121 if task_dir is None:
122 raise ValueError("任务目录未设置")
123
124 # 保存原图
125 filepath = os.path.join(task_dir, filename)
126 with open(filepath, "wb") as f:
127 f.write(image_data)
128
129 # 生成缩略图(50KB左右)
130 thumbnail_data = compress_image(image_data, max_size_kb=50)
131 thumbnail_filename = f"thumb_{filename}"
132 thumbnail_path = os.path.join(task_dir, thumbnail_filename)
133 with open(thumbnail_path, "wb") as f:
134 f.write(thumbnail_data)
135
136 return filepath
137
138 def _generate_single_image(
139 self,

Callers 1

Calls 1

compress_imageFunction · 0.90

Tested by

no test coverage detected