背景需求
代碼實現了點狀虛線的全套流程,但是圖片中主體圖案和虛線與左右兩邊粘連。
【教學類-102-07】剪紙圖案全套代碼07——Python點狀虛線優化版本01(無空隙)+制作1圖2圖6圖24圖-CSDN博客文章瀏覽閱讀665次,點贊11次,收藏11次。【教學類-102-07】剪紙圖案全套代碼07——Python點狀虛線優化版本01(無空隙)+制作1圖2圖6圖24圖https://blog.csdn.net/reasonsummer/article/details/147125404?sharetype=blogdetail&sharerId=147125404&sharerefer=PC&sharesource=reasonsummer&spm=1011.2480.3001.8118
因此幼兒剪紙時,周圍一圈紙張不能連一起,而會被剪斷,增加整理的難度
需要讓蝴蝶和點狀虛線與紙邊保留空隙
把相關段落貼入deep seek詢問
瞬間解決
代碼展示(蝴蝶翅膀離開左右邊距的空白小,所以描邊10,距離10)
'''
255白背景圖片(蝴蝶)做成點狀虛線,透明\切邊\統一大小,保存1圖2圖4圖24圖,虛線與上下左右有空隙
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 = 10
# 黑點直徑(像素)
dot_size = 5
# 黑點間距(像素)
dot_spacing = dot_size * 2 # 增加間距確保均勻分布# 白邊參數設置
transparent_edge = 10 # 裁剪時不保留額外透明邊距(這個沒有用)
# 圖片大小
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