mirror of
https://github.com/Kakune55/ComiPy.git
synced 2025-05-06 18:29:26 +08:00
fix:减小图片分辨率 修复小图片被放大的问题
This commit is contained in:
parent
591bf9d5d8
commit
c49cee4c30
18
file.py
18
file.py
@ -67,14 +67,20 @@ def raedZip(bookid: str, index: int):
|
||||
return str(e), ""
|
||||
|
||||
|
||||
def thumbnail(input, minSize: int = 600):
|
||||
def thumbnail(input, minSize: int = 600, encode:str="webp"):
|
||||
img = cv2.imdecode(np.frombuffer(input, np.uint8), cv2.IMREAD_COLOR)
|
||||
height = img.shape[0] # 图片高度
|
||||
width = img.shape[1] # 图片宽度
|
||||
if height > width:
|
||||
newshape = (minSize, int(minSize / width * height))
|
||||
if minSize < np.amin(height,width):
|
||||
if height > width:
|
||||
newshape = (minSize, int(minSize / width * height))
|
||||
else:
|
||||
newshape = (int(minSize / height * width), minSize)
|
||||
img = cv2.resize(img, newshape)
|
||||
if encode == "webp":
|
||||
success, encoded_image = cv2.imencode(".webp", img, [cv2.IMWRITE_WEBP_QUALITY, 75])
|
||||
elif encode == "jpg":
|
||||
success, encoded_image = cv2.imencode(".jpg", img, [cv2.IMWRITE_JPEG_QUALITY, 75])
|
||||
else:
|
||||
newshape = (int(minSize / height * width), minSize)
|
||||
img = cv2.resize(img, newshape)
|
||||
success, encoded_image = cv2.imencode(".webp", img, [cv2.IMWRITE_WEBP_QUALITY, 75])
|
||||
return input
|
||||
return encoded_image.tobytes()
|
||||
|
@ -18,7 +18,7 @@ def img(bookid, index): # 图片接口
|
||||
if request.args.get("mini") == "yes":
|
||||
data = file.thumbnail(data)
|
||||
else:
|
||||
data = file.thumbnail(data,2400)
|
||||
data = file.thumbnail(data,1500)
|
||||
response = make_response(data) # 读取文件
|
||||
del data
|
||||
response.headers.set("Content-Type", "image/Webp")
|
||||
|
Loading…
x
Reference in New Issue
Block a user