【教學類-102-02】自制剪紙圖案(留白邊、沿線剪)02——Python+PS自動化添加虛線邊框

背景需求:

01版本實現了對透明背景png圖案邊界線的擴展,黑線實線描邊

【教學類-102-01】自制剪紙圖案(留白邊、沿線剪)01-CSDN博客文章瀏覽閱讀974次,點贊15次,收藏7次。【教學類-102-01】自制剪紙圖案(留白邊、沿線剪)01 https://blog.csdn.net/reasonsummer/article/details/146923140?spm=1011.2415.3001.5331

但是我希望圖案邊緣是點狀

圖案邊緣是虛線

搜索,發現PS可以制作虛線邊框

ps虛線框怎么做

https://jingyan.baidu.com/article/b7001fe118b2714f7382dd5d.htmlhttps://jingyan.baidu.com/article/b7001fe118b2714f7382dd5d.html

PS將用路徑選區,制作虛線邊框。

解決思路:

1、python模擬人工,在PS軟件中重復按快捷鍵,對圖案進行邊緣擴展、制作選區、制作虛線描邊。

2、uibot可以自動查找坐標位置,但python不行,需要一個個測試坐標位置

'''
用Python模擬UIBOT上傳園園通照片
需要獲取界面上按鈕的坐標
'''
import pyautogui
import time# 運行后延時,讓鼠標有時間放到指定的按鈕上,再獲取坐標
time.sleep(2)
# # 獲取鼠標當前位置的坐標
x, y = pyautogui.position()# # 打印坐標
print(f"Mouse position: ({x}, {y})")

3、預先打開PS,將各種頁面參數設置好

本次我需要虛線邊框3磅黑線,透明背景

4、圖片是白色背景的青蛙全圖png

代碼展示:

'''
前期工作:
1、打開PS,導入一張圖片,設置參數(右側的路徑開好,形狀的設置做好)
2、英文狀態模版、反選、修改、拓展、右側路徑、左側鋼筆,頂部形狀,點的粗細,線條虛線還是點
然后再批量修改圖片(模擬點擊鼠標位置)
deepseek 阿夏
2025年0404
'''import os,time
import pyautogui
import pyperclip
import re
# time.sleep(2)
import win32api
import win32contime.sleep(5)# 讀取文件名稱和路徑
path=r'C:\Users\jg2yXRZ\OneDrive\桌面\20250401邊緣線剪紙'
folder_path = path +r'\02_01青蛙白色原圖'
new_path=path +r'\02_02青蛙白色點圖'
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)# 模擬按下 Mwin32api.keybd_event(ord('O'), 0, 0, 0)# 模擬釋放 Mwin32api.keybd_event(ord('O'), 0, win32con.KEYEVENTF_KEYUP, 0)# 模擬釋放 Ctrlwin32api.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(0.5)# 反選  按下 Shift+Ctrl+Ipyautogui.hotkey('shift', 'ctrl', 'I')time.sleep(1)# 邊緣擴展# 按下 選擇 pyautogui.hotkey('alt', 's')time.sleep(0.5)# 按下 修改pyautogui.press('M')  # 按下并立即釋放time.sleep(0.5)# 按下 拓展(pyautogui.press('E')  # 按下并立即釋放time.sleep(0.5)# 已經前期設置好白色的寬度)# 確認pyautogui.press('enter')# 圖片顯示需要時間time.sleep(2)# 主頁面上,右側已經點好了路徑# 選取圖片左上角的白色    pyautogui.moveTo(1800, 1037)pyautogui.click()time.sleep(2)# 選取左邊的鋼筆    MMpyautogui.moveTo(17, 468)pyautogui.click()time.sleep(2)# 頂部是形狀,改成路徑# 點一下形狀,出現三個,選第二個路徑pyautogui.moveTo(84, 43)pyautogui.click()time.sleep(0.5)# 選第二個路徑pyautogui.moveTo(85,81)pyautogui.click()time.sleep(0.5)# 點后面出現的形狀按鈕(變成灰色填充,邊線是虛線)pyautogui.moveTo(355,43)pyautogui.click()time.sleep(0.5)# 點左邊的路徑,出現三個,選第二個路徑pyautogui.moveTo(84, 43)pyautogui.click()time.sleep(0.5)# 選第一個形狀pyautogui.moveTo(92,65)pyautogui.click()time.sleep(0.5)# 選白色,改成透明pyautogui.moveTo(198, 44)pyautogui.click()time.sleep(0.5)#,改成透明(無顏色)pyautogui.moveTo (111, 84)pyautogui.click()time.sleep(0.5)# 按回車,出現保存按鈕pyautogui.press('enter')# 圖片顯示需要時間time.sleep(2)# 另存為# 方法1:使用 hotkey 函數(推薦)pyautogui.hotkey('shift', 'ctrl', 's')# 方法2:分步操作(更精確控制)pyautogui.keyDow

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/76806.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/76806.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/76806.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python-函數參數

1. 參數基礎 函數參數是向函數傳遞數據的主要方式,Python 提供了多種參數傳遞機制。 基本用法 def greet(name): # name 是形式參數print(f"Hello, {name}!")greet("Alice") # "Alice" 是實際參數使用場景:當函數需要…

《在 Ubuntu 22.04 上安裝 CUDA 11.8 和 Anaconda,并配置環境變量》

安裝 CUDA 11.8 和 Anaconda 并配置環境變量 在本教程中,我們將介紹如何在 Ubuntu 22.04 上安裝 CUDA 11.8 和 Anaconda,并配置相應的環境變量。我們還將配置使用 阿里云鏡像源 來加速軟件包更新。以下是具體步驟。 步驟 1:更新軟件源 首先…

Ubuntu環境基于Ollama部署DeepSeek+Open-Webui實現本地部署大模型-無腦部署

Ollama介紹 Ollama是一款簡單好用的模型部署工具,不僅可以部署DeepSeek,市面上開源模型大部分都可以一鍵部署,這里以DeepSeek為例 官網 DeepSeek 版本硬件要求 安裝Ollama 環境 sudo apt update sudo apt install curl sudo apt install lsof1.命令一鍵安裝 在官網點擊…

Angular 項目 PDF 批注插件庫在線版 API 示例教程

本文章介紹 Angular 項目中 PDF 批注插件庫 ElasticPDF 在線版 API 示例教程,API 包含 ① 導出批注后PDF數據;② 導出純批注 json 數據;③ 加載舊批注;④ 切換文檔;⑤ 切換用戶;⑥ 清空批注 等數據處理功能…

Spring Boot 中利用 Jasypt 實現數據庫字段的透明加密解密

1. 引言 1.1 什么是 Jasypt Jasypt(Java Simplified Encryption)是一個用于簡化 Java 應用程序中加密操作的庫。 1.2 為什么使用 Jasypt 簡化加密操作:提供簡單的 API 進行加密和解密。透明加密:自動處理加密和解密過程,無需手動干預。多種加密算法:支持多種加密算法,…

Linux的: /proc/sys/net/ipv6/conf/ 筆記250405

Linux的: /proc/sys/net/ipv6/conf/ /proc/sys/net/ipv6/conf/ 是 Linux 系統中用于 動態配置 IPv6 網絡接口參數 的核心目錄。它允許針對不同網絡接口(如 eth0、wlan0)或全局設置(all)調整 IPv6 協議棧的行為。 它通過虛擬文件系…

Spring Cloud 框架為什么能處理高并發

Spring Cloud框架能夠有效處理高并發場景,核心在于其微服務架構設計及多組件的協同作用,具體機制如下: 一、分布式架構設計支撐高擴展性 服務拆分與集群部署 Spring Cloud通過微服務拆分將單體系統解耦為獨立子服務,每個服務可獨…

無人機智慧路燈桿:智慧城市的‘全能助手’

在城市發展的進程中,智慧路燈桿作為智慧城市建設的關鍵載體,正逐步從傳統的照明設備轉型為集多種功能于一體的智能基礎設施。無人機與智慧路燈桿的創新性融合,為城市管理和服務帶來了全新的變革與機遇。 一、無人機智慧路燈桿的功能概述 照…

Libevent UDP開發指南

UDP 與 TCP 的核心區別 無連接:不需要建立/維護連接 不可靠:不保證數據包順序和到達 高效:頭部開銷小,沒有連接管理負擔 支持廣播/多播:可以向多個目標同時發送數據 一、基礎UDP服務器實現 1. 創建 UDP 套接字 #include <event2/event.h> #include <event2/lis…

基于阿里云可觀測產品構建企業級告警體系的通用路徑與最佳實踐

前言 1.1 日常生活中的告警 任何連續穩定運行的生產系統都離不開有效的監控與報警機制。通過監控&#xff0c;我們可以實時掌握系統和業務的運行狀態&#xff1b;而報警則幫助我們及時發現并響應監控指標及業務中的異常情況。 在日常生活中&#xff0c;我們也經常遇到各種各樣…

智能多媒體處理流水線——基于虎躍辦公API的自動化解決方案

在內容爆炸的時代&#xff0c;多媒體文件處理&#xff08;圖片壓縮、視頻轉碼、音頻降噪&#xff09;已成為內容生產者的日常挑戰。本文將演示如何基于虎躍辦公的多媒體處理API&#xff0c;構建自動化處理流水線&#xff0c;實現&#xff1a; 批量文件智能分類格式自動轉換質量…

01-STM32(介紹、工具準備、新建工程)p1-4

文章目錄 工具準備和介紹硬件設備stm32簡介和arm簡介stm32簡介STM32命名規則STM32選型STM32F103C8T6最小系統板引腳定義STM32啟動配置STM32最小系統電路ARM簡介 軟件安裝注冊器件支持包安裝ST-LINK驅動安裝USB轉串口驅動 新建工程創建stm32工程STM32工程編譯和下載型號分類及縮…

【ABAP】REST/HTTP技術(一)

1、概念 1.1、SAP 如何提供 Http Service 如果要將 SAP 應用程序服務器 &#xff08;application server&#xff09;作為 http 服務提供者&#xff0c;需要定義一個類&#xff0c;這個類必須實現 IF_HTTP_EXTENSION 接口。IF_HTTP_EXTENSION 接口只有一個方法 HANDLE_REQUEST。…

[實戰] linux驅動框架與驅動開發實戰

linux驅動框架與驅動開發實戰 Linux驅動框架與驅動開發實戰一、Linux驅動框架概述1.1 Linux驅動的分類1.2 Linux驅動的基本框架 二、Linux驅動關鍵API詳解2.1 模塊相關API2.2 字符設備驅動API2.3 內存管理API2.4 中斷處理API2.5 PCI設備驅動API 三、Xilinx XDMA驅動開發詳解3.1…

1. hadoop 集群的常用命令

1.上傳文件 1)hadoop fs -put words.txt /path/to/input/ 2)hdfs dfs -put words.txt /path/wc/input/ 2.獲取hdfs中的文件 hadoop fs -get /path/wc/input/words.txt 3.合并下載多個文件 hadoop fs -getmerge /path/wc/input/words.txt /path/wc/input/words2.txt 4.查…

Keepalived+LVS+nginx高可用架構

注明&#xff1a;所有軟件已經下載好&#xff0c;防火墻和SELinux已經全部關閉 一.搭建NFS 1.服務端 1.創建文件 [rootnfs ~]# mkdir -p /nfs/data 2、修改權限 [rootnfs ~]# chmod orw /nfs/data 3、寫配置文件 [rootnfs ~]# cat /etc/exports /nfs/data 192.168.111.118(r…

深度學習處理文本(13)

我們使用基于GRU的編碼器和解碼器來在Keras中實現這一方法。選擇GRU而不是LSTM&#xff0c;會讓事情變得簡單一些&#xff0c;因為GRU只有一個狀態向量&#xff0c;而LSTM有多個狀態向量。首先是編碼器&#xff0c;如代碼清單11-28所示。 代碼清單11-28 基于GRU的編碼器 fro…

HashMap 底層原理詳解

1. 核心數據結構 JDK 1.7 及之前&#xff1a;數組 鏈表 JDK 1.8 及之后&#xff1a;數組 鏈表/紅黑樹&#xff08;鏈表長度 ≥8 時轉紅黑樹&#xff0c;≤6 時退化為鏈表&#xff09; // JDK 1.8 的 Node 定義&#xff08;鏈表節點&#xff09; static class Node<K,V&g…

使用MySQL時出現 Ignoring query to other database 錯誤

Ignoring query to other database 錯誤 當在遠程連接軟件中輸入MySQL命令出現該錯誤 導致錯誤原因是&#xff1a;登錄mysql時賬戶名沒有加上u 如果出現該錯誤&#xff0c;退出mysql&#xff0c;重新輸入正確格式進入即可&#xff01;

哈爾濱工業大學:大模型時代的具身智能

大家好&#xff0c;我是櫻木。 機器人在工業領域&#xff0c;已經逐漸成熟。具身容易&#xff0c;智能難。 機器人-》智能機器人&#xff0c;需要自主能力&#xff0c;加上通用能力。 智能機器人-》人類&#xff0c;這個階段就太有想象空間了。而最受關注的-類人機器人。 如何…