图片美化与大小调整
文章目录
前言
本文主要分为两部分。一是图片的美化吧算是,主要从亮度、对比、色彩饱和度、锐度四个方面进行美化;二是图片的像素大小的调整,大家可以用这个来做一二三等寸的照片。
一、基本结构
代码编写一共分为三部分:
- 库模块
- 用户输入模块
- 图片美化模块
- 大小调整模块
二、引入库
代码如下:
python
from PIL import Image, ImageEnhance
很简单,引入一下有关图像的库就行。
三、用户输入模块
整体代码如下:
python
print(r'请输入文件完整路径(例子:E:\BaiduDownload\你好.png):', end='')
file_path = input()
print(r'请输入模式 1 美化 2 调整大小:', end='')
choice = input()
print(r'请输入新文件保存路径(例子:E:\BaiduDownload):', end='')
file_new_path = input()
if choice == '1':
..................
elif choice == '2':
..................
此处需要用户输入文件的地址、选择模式、新文件保存地址。
四、图片美化模块
整体代码如下:
python
if choice == '1':
print(r'请输入数字(float类型)来进行美化亮度:', end='')
bright = float(input())
print(r'请输入数字(float类型)来进行美化对比度:', end='')
contrast = float(input())
print(r'请输入数字(float类型)来进行美化色彩饱和度:', end='')
color = float(input())
print(r'请输入数字(float类型)来进行美化锐化度:', end='')
sharp = float(input())
# 打开文件
img = Image.open(file_path)
# 调整图片的亮度
img_bright = ImageEnhance.Brightness(img).enhance(bright)
# 调整图片的对比度
img_contrast = ImageEnhance.Contrast(img_bright).enhance(contrast)
# 调整图片的色彩饱和度
img_color = ImageEnhance.Color(img_contrast).enhance(color)
# 调整图片的锐度
img_sharp = ImageEnhance.Sharpness(img_color).enhance(sharp)
# 获取用户输入的文件名,不包括路径
file_path_name = file_path.split('\\')[-1] # 使用 \\ 分隔符
file_base_name = file_path_name.split('.')[0] # 去掉扩展名
# 指定保存 .png 文件的完整路径和名称
output_file_name = f"{file_base_name}_美化.png"
output_path = file_new_path + '\\' + output_file_name
img_sharp.save(output_path)
一共分为三部分:
- 首先,提示用户输入照片的四要素(亮度、对比度、色彩饱和度、锐化度)。
- 其次,程序会根据用户的输入进行照片的处理。
- 最后,把处理好的照片保存。
五、大小调整模块
整体代码如下:
python
elif choice == '2':
print(r'请输入图片的宽度(像素):', end='')
width = int(input())
print(r'请输入图片的高度(像素):', end='')
height = int(input())
# 打开文件
img = Image.open(file_path)
# 调整图片大小 新的宽高值
new_size = (width, height)
resized_img = img.resize(new_size, Image.BILINEAR)
# 获取用户输入的文件名,不包括路径
file_path_name = file_path.split('\\')[-1] # 使用 \\ 分隔符
file_base_name = file_path_name.split('.')[0] # 去掉扩展名
# 指定保存 .png 文件的完整路径和名称
output_file_name = f"{file_base_name}_大小.png"
output_path = file_new_path + '\\' + output_file_name
resized_img.save(output_path)
一共分为三部分:
- 首先,提示用户输入照片的宽度和高度的像素。
- 其次,程序会根据用户的输入进行照片的处理。
- 最后,把处理好的照片保存。
总结
我试了几次,感觉还是用PS比较舒服。。哈哈哈哈哈哈哈哈哈。这个也就图一乐啦,玩玩就行。