网页生成图片的方法

一.先下载wkhtmltopdf软件

官网下载地址: https://wkhtmltopdf.org/downloads.html
wkhtmltopdf软件下载链接:https://pan.baidu.com/s/11VOomkNch7C9m8lqlRaNAg 密码:4xuv

点击需要安装的版本号。
Windows版本需要把wkhtmltopdf的bin执行文件路径添加到PATH变量中。
在这里插入图片描述

二.安装Python库:imgkit。

pip install imgkit

这个库其实相当于软件的包装器,简单理解有了这个库我们就可以直接用代码调用软件,而不需要像平时那样需要自己去打开使用软件。

将html转化为png图片,就只有一步!

imgkit.from_file(‘cet.html’, ‘cet.png’)

在这里插入图片描述

三.将图片裁剪并添加马赛克

def html_to_png(is_add_mosaic=True):
    """
    生成图片,可添加马赛克挡住准考证号
    :param is_add_mosaic: 是否添加马赛克
    :return:
    """
    # 生成图片,需要安装wkhtmkltopdf软件
    imgkit.from_file('cet.html', 'cet.png')
    # 剪切图片
    img = Image.open('cet.png')
    cropped = img.crop((310, 300, 700, 700))  # (left, upper, right, lower)
    cropped.save("cut_cet.png")
    if is_add_mosaic:
        add_mosaic(5, (146, 158), (170, 300))


def add_mosaic(mosaic_size, y_start_end, x_start_end):
    """
    给图片添加马赛克,主要通过中间值的rgb对局部范围块的rgb做修改
    :param mosaic_size: 马瑟克块元素大小,mosaic_size值越小越精确
    :param y_start_end: 马赛克纵向起点值和终点值(相当于高度差)
    :param x_start_end: 马赛克横向起点值和终点值(相当于宽度差)
    :return:
    """
    cut_img = np.array(Image.open('cut_cet.png'))
    for i in range(y_start_end[0], y_start_end[1], mosaic_size):
        for j in range(x_start_end[0], x_start_end[1], mosaic_size):
            cut_img[i:i + mosaic_size, j:j + mosaic_size] = cut_img[i + (mosaic_size // 2)][j + (mosaic_size // 2)]
    mosaic_img = Image.fromarray(cut_img.astype("uint8"))
    mosaic_img.save('mosaic_cet.png')
    mosaic_img.show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值