欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 【教学类-102-07】剪纸图案全套代码07——Python点状虚线优化版本01(无空隙)+制作1图2图6图24图

【教学类-102-07】剪纸图案全套代码07——Python点状虚线优化版本01(无空隙)+制作1图2图6图24图

2025/5/17 8:01:18 来源:https://blog.csdn.net/reasonsummer/article/details/147125404  浏览:    关键词:【教学类-102-07】剪纸图案全套代码07——Python点状虚线优化版本01(无空隙)+制作1图2图6图24图

背景需求:

我觉得这个代码里面的输入信息分离太远(42行和241行),想重新优化一下

【教学类-102-05】蛋糕剪纸图案(留白边、沿线剪)04——Python白色(255)图片转为透明png再制作“点状边框和虚线边框”-CSDN博客文章浏览阅读864次,点赞14次,收藏27次。【教学类-102-05】蛋糕剪纸图案(留白边、沿线剪)04——Python白色(255)图片转为透明png再制作“点状边框和虚线边框” https://blog.csdn.net/reasonsummer/article/details/147053695?spm=1011.2415.3001.5331

AI优化的代码把参数都放在最前面,便于更改所有的文件夹

'''
255白背景图片(蝴蝶)做成点状虚线,透明\切边\统一大小,保存1图2图4图
deepseek,阿夏
20250410
'''
from PIL import Image, ImageDraw
import os
import mathprint('------1、基本信息-----')
#  主路径b
path = r'C:\Users\jg2yXRZ\OneDrive\桌面\20250401边缘线剪纸'
a='11'
b='蝴蝶'# 白边宽度(像素)
white_border_width = 30
# 黑点直径(像素)
dot_size = 5
# 黑点间距(像素)
dot_spacing = dot_size * 2  # 增加间距确保均匀分布# 白边参数设置
transparent_edge = 40  # 裁剪时不保留额外透明边距(这个没有用)
# 图片大小
target_width = 1000   # 统一宽度
target_height = 1000  # 统一高度# 定义文件夹路径
in_folder = os.path.join(path,f'{a}_01{b}白背景')  # 原始图片(白背景)
transparent_folder = os.path.join(path, f'{a}_02{b}透明背景')  # 透明背景输出
output_folder = os.path.join(path, f'{a}_03{b}虚线轮廓')  # 最终输出input_folder = output_folder  # 原始图片文件夹
cropped_folder = os.path.join(path,f'{a}_04{b}虚线切边') # 裁剪后的透明图片
final=f'{a}_05{b}虚线切边统一图'# 1000*1000统一图
resized_folder = os.path.join(path,f'{final}')# 创建输出文件夹
os.makedirs(cropped_folder, exist_ok=True)
os.makedirs(resized_folder, exist_ok=True)
os.makedirs(transparent_folder, exist_ok=True)
os.makedirs(output_folder, exist_ok=True)print('------2、白色PNG背景变成透明-----')
# 先把图片白色部分变成透明
def process_image_to_transparent(file_path):img = Image.open(file_path)img = img.convert("RGBA")datas = img.getdata()new_data = []for item in datas:if item[0] == 255 and item[1] == 255 and item[2] == 255:# 设置为完全透明new_data.append((255, 255, 255, 0))else:new_data.append(item)img.putdata(new_data)return img# 第一步:将白背景转为透明背景
print("正在转换白背景为透明背景...")
for file_name in os.listdir(in_folder):if file_name.lower().endswith((".png", ".jpg", ".jpeg")):input_file_path = os.path.join(in_folder, file_name)output_file_path = os.path.join(transparent_folder, file_name)processed_image = process_image_to_transparent(input_file_path)processed_image.save(output_file_path)print(f"已处理: {file_name}")print('------3、添加点状虚线轮廓-----')def get_edge_pixels(image):"""获取图像中不透明像素与透明像素交界的边缘像素坐标"""edge_pixels = []pixels = image.load()width, height = image.sizefor y in range(height):for x in range(width):if pixels[x, y][3] > 0:  # 不透明像素# 检查4邻域for dx, dy in [(-1,0),(1,0),(0,-1),(0,1)]:nx, ny = x+dx, y+dy

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词