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

【教学类-102-11】蝴蝶外轮廓01——Python对黑白图片进行PS填充三种颜色+图案描边+图案填充白色+制作1图2图6图24图

背景需求:

用Python,对白色255背景的图片进行了透明化、制作点状或线段的描边裁剪线

【教学类-102-10】剪纸图案全套代码09——Python线条虚线优化版04(原图放大白背景)+制作1图2图6图24图-CSDN博客文章浏览阅读1k次,点赞27次,收藏8次。【教学类-102-10】剪纸图案全套代码09——Python线条虚线优化版04(原图放大白背景)+制作1图2图6图24图 https://blog.csdn.net/reasonsummer/article/details/147189382?spm=1011.2415.3001.5331【教学类-102-09】剪纸图案全套代码08——Python点状虚线优化版本03(原图放大白背景)+制作1图2图6图24图-CSDN博客文章浏览阅读1.1k次,点赞22次,收藏6次。【教学类-102-09】剪纸图案全套代码08——Python点状虚线优化版本03(原图放大白背景)+制作1图2图6图24图 https://blog.csdn.net/reasonsummer/article/details/147165562?spm=1011.2415.3001.5331

用代码做了一套183张的蝴蝶图片(用了8个小时才生成完)

我联想到最近美工室用的一套蝴蝶材料

黑色卡纸,对称折叠,在一侧挤压颜料,然后对折按压,会出现对称的图案颜色

因为比较有趣,所以50张黑色卡纸马上就要用完了。

因此我想:既然我有183张蝴蝶黑白图片,是否可以提取它的轮廓线,然后自制一些不同造型的卡纸蝴蝶模版纸?

通过研究,发现首先我需要把图片PS修成三种颜色。

为此用Python写了一个模拟操作PS修图的代码

代码展示(PS修图,填充三种颜色)

'''
把黑白图片修图成
1、背景255,255,255
2、黑线图案0,0,0
3、黑线内部白色图案255,255,244
星火讯飞、阿夏

1、火狐100%
2、英文状态
20250424

'''
import os,time
import pyautogui
import pyperclip
import re

import os,time
import pyautogui
import pyperclip
import re
# time.sleep(2)
import win32api
import win32con

time.sleep(5)

'''
预先打开PS,把页面右侧的图案打开
改成英文输入状态
打开时黑白切换选择是白上黑下255和0
'''


# 读取文件名称和路径
path=r'C:\Users\jg2yXRZ\OneDrive\桌面\20250401边缘线剪纸'
folder_path = path +r'\15蝴蝶三色'
new_path=path +r'\15_01蝴蝶三色白背景'
os.makedirs(new_path,exist_ok=True)

file_paths = [os.path.join(folder_path, file_name) for file_name in os.listdir(folder_path)]
print(file_paths)
# 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\20250322班级园园通上传\\特色美术\\19 第19周 主题知识(2025.1.6——2025.1.17)(中2班下学期)-寒冷的冬天1.png']

# 不同的切片方式
file_names = os.listdir(folder_path)
print(file_names)
# 'C:\\Users\\jg2yXRZ\\OneDrive\\桌面\\20250322班级园园通上传\\特色美术\\19 第19周 主题知识(2025.1.6——2025.1.17)(中2班下学期)-寒冷的冬天1.png']



for i in range(len(file_paths)):

        # 打开第一图
    pyautogui.moveTo(540, 228)
    pyautogui.click()    

    # 模拟按下 Ctrl
    # pyautogui.hotkey('Ctrl', 'O')
    win32api.keybd_event(win32con.VK_CONTROL, 0, 0, 0)
    # 模拟按下 M
    win32api.keybd_event(ord('O'), 0, 0, 0)
    # 模拟释放 M
    win32api.keybd_event(ord('O'), 0, win32con.KEYEVENTF_KEYUP, 0)
    # 模拟释放 Ctrl
    win32api.keybd_event(win32con.VK_CONTROL, 0, win32con.KEYEVENTF_KEYUP, 0)
    # # 打开图片需要时间
    time.sleep(3)


    # 输入文件夹网址,复制中文内容到剪贴板
    pyperclip.copy(folder_path)
    # 黏贴图片地址
    pyautogui.hotkey('ctrl', 'v')
    time.sleep(1)
    # 打开(回车打开图片)
    pyautogui.press('enter')
    # 图片显示需要时间
    time.sleep(1)
    
    # 输入图片名称,复制中文内容到剪贴板
    pyperclip.copy(file_names[i])
    # 黏贴图片地址
    pyautogui.hotkey('ctrl', 'v')
    time.sleep(1)

    # 打开(回车打开图片)
    pyautogui.press('enter')
    # 图片显示需要时间
    time.sleep(1)

    # 选取魔棒   (魔棒快捷键:按键W)
    # 按下并释放 W 键
    pyautogui.press('w')  # 按下并立即释放
    # 按住 W 键不放(常用于游戏中的持续移动)
    pyautogui.keyDown('w')  # 按下不放
    # ... 这里可以添加延迟或其他操作 ...
    pyautogui.keyUp('w')   # 释放按键

    # 选取图片左上角的白色    
    pyautogui.moveTo(506, 219)
    pyautogui.click()
    time.sleep(1)

    # 选取相似  按下 Shift+Ctrl+R
    # 按下 选择 
    pyautogui.hotkey('alt', 's')
    time.sleep(1)
    # 按下 修改
    pyautogui.press('R')  # 按下并立即释放
    time.sleep(1)
    

    # 新建图层
    pyautogui.moveTo(1866, 1039)
    pyautogui.click()
    time.sleep(1)


    # 选择白色255,,255,244C:\Users\jg2yXRZ\OneDrive\桌面\20250401边缘线剪纸\15_01蝴蝶三色白背景
    # 点击白色黑色的白色
    pyautogui.moveTo(11,643)
    pyautogui.click()
    time.sleep(1)

    # R部分是选中的
    pyperclip.copy('0')
    # R从255改成254
    pyautogui.hotkey('ctrl', 'v')
    time.sleep(1)
    # # 确认gg
    pyautogui.press('enter')
    time.sleep(1)
    

    
    # 填充颜色油漆桶G
    # 按下并释放 W 键
     # 按下并释放 W 键

    pyautogui.press('g')  # 按下并立即释放
    # 按住 W 键不放(常用于游戏中的持续移动)
    pyautogui.keyDown('g')  # 按下不放
    # # ... 这里可以添加延迟或其他操作 ...
    pyautogui.keyUp('g')   # 释放按键
    time.sleep(3)
   
   # 鼠标移到左上角的白色    
    pyautogui.moveTo(506, 219)
    pyautogui.click()
    time.sleep(2)

    # 反选  按下 Shift+Ctrl+I 选中所有黑色部分
    pyautogui.hotkey('shift', 'ctrl', 'I')
    time.sleep(1)

  

相关文章:

  • 如何在Linux系统中安装Vue环境
  • MyBatis-Plus快速入门
  • CVPR‘25 SOTA——GoalFlow论文精读
  • Linux环境下Swap配置方法与技巧
  • InnoDB 底层原理
  • Loop(循环)和Cycle(环)-《分析模式》漫谈55
  • 【笔记ing】AI大模型-05单层感知机与多层感知机
  • 周末学习笔记:Python文件操作(结构化数据转换与文件处理)
  • 算法:有一个整数数组,长度为n。她希望通过一系列操作将数组变成一个回文数组。
  • Domain Adaptation领域自适应
  • Java多态课堂练习题
  • ​‌FireCrawl‌爬虫工具​, Craw4ai
  • 算法思想之模拟
  • LaTeX 的pstricks-add宏绘图练习
  • SJ7W5(四角号码7万五千字)取码细则V2
  • AWS Redshift的使用场景及一些常见问题
  • vue+flask+GNN+neo4j图书知识图谱推荐系统
  • 【SQL】COUNT... FILTER 的适用场景
  • 大模型在直肠癌诊疗全流程预测及应用研究报告
  • 已开源!CMU提出NavRL :基于强化学习的无人机自主导航和动态避障新方案
  • 出35万元为副县长的女友凑购房首付,青海一商人被判缓刑
  • 南京84.57亿元成交8宗宅地:仅秦淮区一宗地块溢价成交
  • 中国空间站已在轨实施了200余项科学与应用项目
  • 贵州省交通运输厅原副厅长冯伟已任遵义市领导
  • 税率飙至3500%!美国双反大棒重击东南亚光伏,中企如何应对
  • 四川苍溪警方通报一男子离家出走:遗体被打捞上岸,排除刑案