当前位置: 首页 > news >正文

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

背景需求

代码实现了点状虚线的全套流程,但是图片中主体图案和虚线与左右两边粘连。

【教学类-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 math

print('------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

相关文章:

  • Matlab 非线性阻尼四分之一车体被动和模糊pid控制悬架对比
  • leetcode_15. 三数之和_java
  • [蓝桥杯]R格式(CC++双语版)
  • Xdocreport实现根据模板导出word
  • 图论整理复习
  • 国标GB28181视频平台EasyCVR如何搭建汽车修理厂远程视频网络监控方案
  • std::string` 类
  • 数据库数据恢复——sql server数据库被加密怎么恢复数据?
  • Dify+DeepSeek能做出什么来?快速构建可扩展的 AI 应用
  • 程序化广告行业(76/89):行业融资全景剖析与代码应用拓展
  • 电力交易中长期市场基础知识
  • 高并发的业务场景下,如何防止数据库事务死锁
  • image tokenizer 原理和代码
  • C++ 知识笔记
  • 项目整合管理_项目管理计划和项目文件
  • 用css画一条弧线
  • 数据库分表分库
  • 为什么AI系统习惯性“画大饼”?:深度解析算法逻辑与技术瓶颈
  • docker部署postgresql
  • Notepad++安装Markdown实时预览插件
  • 网站文字格式/深圳竞价托管公司
  • 龙之向导外贸经理人网站/长尾关键词挖掘爱站工具
  • 哪里有做桥梁模型的网站/注册城乡规划师好考吗
  • 网站的内链优化怎样做/北京seo推广系统
  • 泉州网站建设公司首选/百度竞价登录
  • 南通网站建设方案服务/自媒体seo是什么意思