Merge pull request #1468 from LanluZ/main

添加 本地图库插件 防吞图特性
This commit is contained in:
HibiKier 2023-08-17 22:38:32 +08:00 committed by GitHub
commit 48b720b00a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 0 deletions

View File

@ -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(

View File

@ -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)