diff --git a/plugins/image_management/send_image/__init__.py b/plugins/image_management/send_image/__init__.py index 2f5ab68d..d44061aa 100755 --- a/plugins/image_management/send_image/__init__.py +++ b/plugins/image_management/send_image/__init__.py @@ -12,6 +12,7 @@ from utils.message_builder import image from utils.utils import FreqLimiter, cn2py, get_message_text, is_number from .rule import rule +from .anti import pix_random_change_file __zx_plugin_name__ = "本地图库" __plugin_usage__ = f""" @@ -74,6 +75,8 @@ async def _(event: MessageEvent): return if int(index) > length - 1 or int(index) < 0: await send_img.finish(f"超过当前上下限!({length - 1})") + abs_path = os.path.join(os.getcwd(), path / f"{index}.jpg") + pix_random_change_file(abs_path) result = image(path / f"{index}.jpg") if result: logger.info( diff --git a/plugins/image_management/send_image/anti.py b/plugins/image_management/send_image/anti.py new file mode 100644 index 00000000..3f113c7a --- /dev/null +++ b/plugins/image_management/send_image/anti.py @@ -0,0 +1,23 @@ +import cv2 +import random +import warnings +import numpy as np +from PIL import Image + + +def pix_random_change(img): + # Image转cv2 + img = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR) + img[0, 0, 0] = random.randint(0, 0xfffffff) + # cv2转Image + img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) + return img + + +def pix_random_change_file(path: str): + # 注意:cv2.imread()不支持路径中文 + warnings.filterwarnings("ignore", category=Warning) + img = cv2.imread(path) + img[0, 0, 0] = random.randint(0, 0xfffffff) + cv2.imwrite(path, img) +