|
@@ -0,0 +1,93 @@
|
|
|
|
|
+import threading
|
|
|
|
|
+import time
|
|
|
|
|
+import os
|
|
|
|
|
+import settings
|
|
|
|
|
+
|
|
|
|
|
+from service.remove_bg_ali import RemoveBgALi
|
|
|
|
|
+from service.generate_main_image.grenerate_main_image_test import (
|
|
|
|
|
+ GeneratePic,
|
|
|
|
|
+)
|
|
|
|
|
+from service.generate_main_image.image_deal_base_func import *
|
|
|
|
|
+from functools import partial
|
|
|
|
|
+import io
|
|
|
|
|
+from PIL import Image
|
|
|
|
|
+from .base import check_path, get_date_time_original
|
|
|
|
|
+from middleware import UnicornException
|
|
|
|
|
+
|
|
|
|
|
+class OnePicTest():
|
|
|
|
|
+ # is_end = Signal()
|
|
|
|
|
+
|
|
|
|
|
+ def __init__(self, pic_path="", is_auto_closed=False):
|
|
|
|
|
+ # super().__init__()
|
|
|
|
|
+ # 加载默认配置
|
|
|
|
|
+ # self.ui = Ui_Form()
|
|
|
|
|
+ # self.ui.setupUi(self)
|
|
|
|
|
+ self.pic_path = pic_path
|
|
|
|
|
+ self.is_auto_closed = False
|
|
|
|
|
+ # self.init()
|
|
|
|
|
+ # self.show()
|
|
|
|
|
+ # if pic_path:
|
|
|
|
|
+ # self.run()
|
|
|
|
|
+
|
|
|
|
|
+ def call_back_deal_image(self, data):
|
|
|
|
|
+ # 处理后回调
|
|
|
|
|
+ print(data)
|
|
|
|
|
+ if data["code"] == 0:
|
|
|
|
|
+ return data
|
|
|
|
|
+ else:
|
|
|
|
|
+ if data["message"]:
|
|
|
|
|
+ raise UnicornException(data["message"])
|
|
|
|
|
+
|
|
|
|
|
+ def deal_image(self, image_path):
|
|
|
|
|
+ # 处理加工图片
|
|
|
|
|
+ return_data = {"code": 99, "message": "", "data": {}}
|
|
|
|
|
+
|
|
|
|
|
+ # =============清空temp文件夹================
|
|
|
|
|
+ check_path("temp")
|
|
|
|
|
+ check_path("temp\pic_test")
|
|
|
|
|
+ root = r"{}\temp\pic_test".format(os.getcwd())
|
|
|
|
|
+ for file_name in os.listdir(root):
|
|
|
|
|
+ path = "{}\{}".format(root, file_name)
|
|
|
|
|
+ if os.path.isfile(path):
|
|
|
|
|
+ os.remove(path)
|
|
|
|
|
+
|
|
|
|
|
+ # ==============抠图处理=====================
|
|
|
|
|
+ remove_pic_ins = RemoveBgALi()
|
|
|
|
|
+ file = os.path.split(image_path)[1]
|
|
|
|
|
+ cut_image_path = r"{}\temp\pic_test\{}.png".format(
|
|
|
|
|
+ os.getcwd(), os.path.splitext(file)[0]
|
|
|
|
|
+ )
|
|
|
|
|
+ remove_pic_ins.get_image_cut(file_path=image_path, out_file_path=cut_image_path)
|
|
|
|
|
+
|
|
|
|
|
+ # ==============生成主图====================
|
|
|
|
|
+ main_out_path = r"{}\temp\pic_test\{}-主图.jpg".format(
|
|
|
|
|
+ os.getcwd(), os.path.splitext(file)[0]
|
|
|
|
|
+ )
|
|
|
|
|
+ GeneratePic().run(
|
|
|
|
|
+ image_path=image_path,
|
|
|
|
|
+ cut_image_path=cut_image_path,
|
|
|
|
|
+ out_path=main_out_path,
|
|
|
|
|
+ image_deal_mode=1,
|
|
|
|
|
+ resize_mode=1,
|
|
|
|
|
+ out_pic_size=1024,
|
|
|
|
|
+ is_logo=False,
|
|
|
|
|
+ )
|
|
|
|
|
+
|
|
|
|
|
+ # return_data["code"] = 0
|
|
|
|
|
+ # return_data["data"]["image_path"] = image_path
|
|
|
|
|
+ # return_data["data"]["image_cutout_path"] = cut_image_path
|
|
|
|
|
+ # return_data["data"]["image_main_path"] = main_out_path
|
|
|
|
|
+ return main_out_path
|
|
|
|
|
+
|
|
|
|
|
+ def HandlerMainImage(self):
|
|
|
|
|
+ # 先做整体校验
|
|
|
|
|
+ if not os.path.exists(self.pic_path):
|
|
|
|
|
+ raise UnicornException("图片不存在")
|
|
|
|
|
+ return_data = self.deal_image(self.pic_path)
|
|
|
|
|
+ if return_data["message"]:
|
|
|
|
|
+ raise UnicornException(return_data["message"])
|
|
|
|
|
+ return return_data
|
|
|
|
|
+
|
|
|
|
|
+if __name__ == "__main__":
|
|
|
|
|
+ pic = OnePicTest(pic_path="C:/Users/15001/Desktop/mmexport1739929178317.jpg")
|
|
|
|
|
+ pic.HandlerMainImage()
|