Python实用工具之制作证件照(有界面、附源码、赞关藏)
学习Python或Java获取软件开发相关认证 #生活技巧# #工作学习技巧# #工作技能认证#
写在最后
在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。
需要完整版PDF学习资源私我
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化资料的朋友,可以点击这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
##### 获取API Key 进入 [Removebg](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb) 官网,完成账号注册。  填写完注册信息后,会发送验证邮件到你的邮箱,点击进入后会进入如下界面。  点击 `Remove image background`  再点击红圈中的 `Tool & API`  点击 `Get API Key`,  点击 `Show` 即可查看 API Key 了,最好记下来哦,之后代码中会用到。  --- ### 无界面版 #### 修改图片背景色 使用 `RemoveBg` 时必须指定 `api-key` 与 `error.log`(保存报错信息的文件),去掉背景之后会在**原图片**同级文件夹内生成一张 `xxx_no_bg.png` 的图片,再创建一个指定颜色的背景板,将抠出来的图粘贴到背景板上。
1234567891011121314151617181920212223242526272829303132333435修改照片背景色
def replace_bg(read_path, save_path, api_key, bg_color=‘blue’):
# 在程序当前目录创建一个error.log文件来保存错误信息(必要参数)
Path(‘error.log’).touch()
rmbg = RemoveBg(api_key, ‘error.log’)
# 执行后会在 read_path 同级文件夹内生成一张 xxx_no_bg.png 的图片
rmbg.remove_background_from_img_file(read_path)
img_no_bg = Image.open(read_path + ‘_no_bg.png’)
# 创建一个新的图像,RGB代表真色彩,3通道,
# color可以为颜色英文名 red 或是 十六进制颜色代码 #00FF00
new_img = Image.new(‘RGB’, img_no_bg.size, color=bg_color)
# 将没有背景的图像粘贴到含背景色的图像上
new_img.paste(img_no_bg, (0, 0, *img_no_bg.size), img_no_bg)
new_img.save(save_path)
#### 修改图片大小 读取图片,直接使用 `resize` 修改图片尺寸,`Image.ANTIALIAS` 设置为高质量。 12345678
修改照片尺寸295x413(标准一寸)
def change_size(read_path, save_path, width=295, height=413):
image = Image.open(read_path)
resized_image = image.resize((int(width), int(height)), Image.ANTIALIAS)
resized_image.save(save_path)
--- ### 升级版 #### 设置窗口主题与标题 这里使用的主题时 `adapta`,官方推荐,样式很好看。
123456789101112131415161718window = ThemedTk(theme=“adapta”, fonts=True, themebg=True)
window.title(‘证件照生成器’)
#### 添加选择图片路径组件 选择待修改图片的路径。 12345678
def selectFilePath():
global img_path
# 选择文件path接收文件地址
img_path = Path(filedialog.askopenfilename(title=‘选择原图片’))
x, y = Image.open(img_path).size
entry4.insert(0, str(x) + ‘x’ + str(y))
path1.set(img_path)
path1 = tk.StringVar()
entry1 = ttk.Entry(window, textvariable=path1, width=30)
entry1.insert(0, ‘格式要求png’)
button1 = ttk.Button(window,width=10, text = “图片路径”, command = selectFilePath)
 #### 添加选择保存路径组件 选择修改后图片的保存路径,该路径为文件夹。 1234567891011
def selectDirPath():
global dir_path
# 选择文件path接收文件地址
dir_path = Path(filedialog.askdirectory(title=‘选择图片保存路径’))
path2.set(dir_path)
path2 = tk.StringVar()
entry2 = ttk.Entry(window, textvariable=path2, width=30)
button2 = ttk.Button(window,width=10, text = “保存路径”, command = selectDirPath)
 #### 添加选择背景颜色组件 这里使用`tkinter` 的 `colorchooser` 来当作颜色板,不得不说,实在是太好用了 。 1234567891011
def ChooseColor():
global bg_color
# 返回两种格式的颜色代码,这里只保存十六进制的
_, bg_color = colorchooser.askcolor(title=‘颜色选择器’)
path3.set(bg_color)
path3 = tk.StringVar()
entry3 = ttk.Entry(window, textvariable=path3, width=30)
button3 = ttk.Button(window, text=‘背景颜色’, command=ChooseColor)
  #### 添加填写图片尺寸组件 如果要修改图片的话,就填写这一栏,默认为原图尺寸,这里如果想要标准尺寸的话,建议先自己百度一下,如标准一寸就是295x413(标准一寸)。 123456789101112
设置图片大小,默认原图大小,格式如295x413(标准一寸)
label = ttk.Label(window, text=‘默认原图大小,若要修改请按[]内
格式,如 [295x413] (标准一寸照)’, wraplength=200, style=‘two.TLabel’)
entry4 = ttk.Entry(window, width=30)
label1 = ttk.Label(window, text=‘图片尺寸’, style=‘three.TLabel’)
 #### 添加填写API-KEY组件 将输入框设置显示值为 “\*”,可以达到隐藏显示值的效果。这里就要填写上面获取的 `api-key` 了。 1234567891011
填写api-key
entry5 = ttk.Entry(window, width=30, show=“*”)
label2 = ttk.Label(window, text=‘api-key’, style=‘three.TLabel’)
 #### 添加控制按钮 * **修改背景按钮**:只修改原图的背景图,需要指定原图路径,保存路径,背景颜色等。 * **修改尺寸按钮**:只修改原图的尺寸,需要指定原图路径,保存路径,图片尺寸等。 * **同时修改按钮**:同时修改原图的尺寸与背景,需要指定原图路径,保存路径,图片颜色(可选),图片尺寸(可选),如果未选择颜色,尺寸则默认蓝底,图片尺寸为295x413(标准一寸)。 12345678910111213
添加“同时修改”按钮
button4 = ttk.Button(window, text = “同时修改”, command=change_bg_size)
添加“修改背景”按钮
button5 = ttk.Button(window, text = “修改背景”, command=replace_bg)
添加“修改尺寸”按钮
button6 = ttk.Button(window, text = “修改尺寸”, command=change_size)
 #### 添加输出框显示 显示运行结果信息。 1234567891011
添加输出框显示
tree = ttk.Treeview(height=1, show=(“tree”, “headings”))
 #### 设置组件位置 这里使用 `grid()` 来设置位置,也可以用 `pick()` ,但个人更倾向于前者。 1234567891011
main_label.grid(row = 0, column = 0, pady=5)
entry1.grid(row = 1, column = 0, pady=5)
button1.grid(row = 1, column = 1, padx=20)
entry2.grid(row = 2, column = 0, pady=5)
button2.grid(row = 2, column = 1, padx=20)
entry3.grid(row = 3, column = 0, pady=5)
button3.grid(row = 3, column = 1, padx=20)
label.grid(row = 4, column = 0, pady=5)
entry4.grid(row = 5, column = 0, pady=5)
label1.grid(row = 5, column = 1, pady=5)
entry5.grid(row = 6, column = 0, pady=5)
label2.grid(row = 6, column = 1, pady=5)
button4.grid(row = 7, column = 1, padx=5)
button5.grid(row = 7, column = 0, padx=5)
button6.grid(row = 8, column = 0, padx=5)
tree.grid(row=9, column=0, pady=5)
#### 设置组件样式 再原组件的基础上修改自己喜欢的样式。 12345678
label_style = ttk.Style()
label_style.configure(“one.TLabel”, font=(“微软雅黑”, 16, ‘bold’), foreground=“red”, background=“yellow”)
label_style1 = ttk.Style()
label_style1.configure(“two.TLabel”, font=(“微软雅黑”, 9), foreground=“blue”, background=“yellow”)
label_style2 = ttk.Style()
label_style2.configure(“three.TLabel”, font=(“微软雅黑”, 10), foreground=“blue”, background=“yellow”)
 ### 给大家的福利 **零基础入门** 对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。  同时每个成长路线对应的板块都有配套的视频提供:  因篇幅有限,仅展示部分资料 网络安全面试题  绿盟护网行动  还有大家最喜欢的黑客技术  **网络安全源码合集+工具包**   **所有资料共282G**,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~ **网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。** **[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)** **一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667网址:Python实用工具之制作证件照(有界面、附源码、赞关藏) https://www.yuejiaxmz.com/news/view/439693
相关内容
6个 Python 办公黑科技,工作效率提升100倍!(附代码)Python制作生活工具
(附源码)Python社区医疗服务平台的设计与实现 毕业设计221707
免费 Python 学习资源大全,你想要都在这里啦(持续更新,欢迎收藏关注点赞加评论哦)
Tkinter小项目:用Python写一个地址收藏管理工具,迅速提高你的工作效率
【关注可白嫖源码】基于python的个性化电影推荐系统
【附源码】基于flask框架旧物公益捐赠系统 (python+mysql+论文)
pyenv =》python 版本和python 开发工作环境管理神器下载
解决Python编程快速上手——让繁琐工作自动化的具体操作步骤
python如何实现日常工作自动化?