准备工作
#settings.py
#设置静态文件目录
STATIC_URL = '/static/'
STATICFILES_DIRS=[
os.path.join(BASE_DIR,'static')
]
#定义上传文件夹的路径
UPLOAD_ROOT = os.path.join(BASE_DIR,'static/upload')
1.添加水印
#绘画库
from PIL import ImageDraw
#字体库
from PIL import ImageFont
#图片库
from PIL import Image
#读取指定文件目录下的图片
img = Image.open('./static/upload/%s'%myfile_name) #print(im.format,im.size,im.mode) #获取图片的属性 类型,大小,模式
# 获取图片宽高(平行赋值)
width, height = img.size
# 定义水印文字
text = '水印文字'
#字体
font = ImageFont.truetype(font='C:WindowsFontsFZXKJW.TTF',size=35) #windows自带的文字编辑,可用可不用,不用就删掉font
# 获取字体宽高
font_width, font_height = font.getsize(text)
# 生成画笔
draw = ImageDraw.Draw(img)
# 写入文本 参数((x,y),水印文字,颜色,字体) 图片的像素 -- 文字像素 == 合适的字体位置(右下角)
draw.text((width-font_width,height-font_height), text,fill=(76,234,124,180), font=font)
# 根据路径保存文件
img.save(os.path.join(UPLOAD_ROOT, '', myfile_name))
2.压缩图片
#压缩
import cv2
#读图
img = cv2.imread('./dingding.png')
#开始压缩 png压缩等级清晰0-9模糊
cv2.imwrite('./dingding1.png',img,[cv2.IMWRITE_PNG_COMPRESSION,5])
#jpg压缩等级清晰0-100模糊
cv2.imwrite('./dingding1.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,50])