Python小技巧:两行代码实现批量给图片填加水印,这也太简单了

Python小技巧:两行代码实现批量给图片填加水印,这也太简单了,第1张

我们平时要给图片加水印,但是又不会PS,免不了着急上火,还找不到人,想想还是得自己学一手~

而且图片很多的话,PS还是挺慢的,用Python一键生成即可,效率杠杠的。

准备工作

环境的话我这里使用的是 Python 和 pycharm

如果添加一张图片的水印,两行代码就实现了。

本次使用的模块是 filestools , 第三方模块,咱们需要手动安装一下。

win+r打开搜索框,输入cmd 按确定后d出命令提示符窗口,输入 pip install filestools 即可安装成功。

代码解析

1、单张图片添加水印

模块导入

怎么使用 filestools 模块呢?

首先导入模块里面的一个方法,watermarker ,点上 marker ,然后 import add_mark

add_mark 已经包含了很多方法

file 是添加水印照片 ,mark 使用哪些字作为水印,out 保存的地方 ,color 颜色,size 水印字体的大小,opacity 不透明度,space 字体间距,angle 旋转角度。

假设我要给图片添加上:人生苦短, 快学python

咱们把图片和文字加进去即可,代码如下:

2、批量填加多张图片水印

批量给图片添加的话,需要用到 OS 模块。

导入一下

用os模块读取文件夹所有内容 ,使用 files 接收。

打印一下

现在所有文件名字都有了

通过 for 循环遍历都打印出来

然后将文件添加进去,我们读取的是 img_1 里面的内容,那就把这个文件里的内容都传进去,保存数据的时候,都会保存在这里面。

再改一下透明度

我这里改成0.5

这样就清晰多了~

统计抽样是指根据概率理论,从全体调查对象中随机抽取一部分样本单位据以观察,取得样本单位数据而据以推断总体的一种调查方法,非统计抽样是普查、重点调查、典型调查.

非统计抽样是指按照职业判断进行样本设计和实施抽样的技术。非统计抽样的特点:不能对抽样风险进行控制和量化。

对于统计抽样,必须做到2点,

一是随机抽样(总体中各个个体在被抽取时不但都有机会被选中,而且机会均等),

二是对于检查的结果需要用概率论的评价(就是以一个确定的百分比,比如是90%认定总体的某个指标在什么范围之内),包括计量抽样风险(结果中已包括了风险因素,而且知道这个结果中哪部分是对抽样风险的考虑)。

符合上了述条件的才是统计抽样,否则就是非统计抽样。

对于二者记住一个最重要的区别即可,非统计抽样无法量化风险,统计抽样可以量化风险。

非统计抽样更多会用到注册会计师的个人判断,定性分析。

统计抽样更多的是定量的分析。

相关阅读:

数据库插入大量数据时不要忘记先删除索引(小技巧)

solr入门之权重排序方法初探之使用edismax改变权重

sql server查看表占用索引空间(小技巧)

sql server不要插入大数据,开销太大

MongoDB——更新 *** 作(Update)c#实现

solr中facet及facet.pivot理解

Solr --- Group查询与Facet区别

Solr中的group与facet的区别

solr之模糊搜索(Fuzzy matching)

solr之~模糊查询

原文地址:https://www.cnblogs.com/RogerLu/p/13091721.html

最新文章

黄聪:免费C#反编译软件工具。Reflector已经out了,试试ILSpy吧

黄聪:如何使用Add-on SDK开发一个自己的火狐扩展

黄聪:使用Add-on SDK开发火狐扩展

利用python实现汉字转拼音

python 人脸识别

python 文字转语音

arcgis python 获得硬件id

python ocr图片中汉字识别

python 播放MP3和MP4

pycharm 当有多个.py文件在开发环境中时,如何 *** 作可以保证运行当前面对自己的文件?

热门文章

python word转pdf

python创建缩略图和选择轮廓效果

python 图片格式转换png转jpg,如何利用python给图片添加半透明水印

java环境变量的配置

solr的multivalued使用说明

solr联合多个字段进行检索(multivalued和copyfield的使用)

solr的基本概念

Solr学习之二-Solr基础知识

电商总结(八)如何打造一个小而精的电商网站架构

RabbitMQ原理与相关 *** 作(一)

Copyright © 2011-2022 走看看

>>fill = (200, 10, 10, 0.5)

对于RGBA模式的图片,填充半透明色,alpha位置取值是0-255,你希望50%,应该是用128,不是0。5

>>我这里画了一个比如三角形,准备再画一个三角形,也是半透明的,那么这两个颜色是可以混合起来的吧?

直接在同一个Image上绘图是不行的。后面画的会直接覆盖前面的,颜色不会自动融合。如果想要融合的效果,需要用Image.blend(im1, im2, 0.5)或者Image.composite(im1, im2, mask)其中mask需要带alpha参数,可以设置为128.

#!/usr/bin/env python2

# coding=utf-8

"""

draw shapes and fill shap with transparent color and overlap them.

"""

from PIL import Image, ImageDraw

def main():

    im = Image.new("RGBA", (800, 800))

    draw = ImageDraw.Draw(im)

    draw.rectangle((0, 0, 200, 200), fill=(255, 0, 0, 128))

    draw.rectangle((400, 400, 600, 600), fill=(255, 0, 0))

    im2 = Image.new("RGBA", (800, 800))

    draw2 = ImageDraw.Draw(im2)

    draw2.rectangle((100, 100, 300, 300), fill=(0, 255, 0, 128))

    draw2.rectangle((500, 500, 700, 700), fill=(0, 255, 0))

    # merge two images using blend

    blend = Image.blend(im, im2, 0.5)

    # drawf = ImageDraw.Draw(blend)

    # drawf.rectangle((500, 100, 600, 200), fill=(255, 0, 0))

    # drawf.rectangle((600, 200, 700, 300), fill=(0, 255, 0))

    blend.save("/home/sylecn/d/blend.png")

    # merge two images using composite

    ones = Image.new("RGBA", (800, 800))

    _draw = ImageDraw.Draw(ones)

    _draw.rectangle((0, 0, 800, 800), fill=(255, 255, 255, 128))

    final = Image.composite(im, im2, ones)

    final.save("/home/sylecn/d/composite.png")

if __name__ == '__main__':

    main()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11911817.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存