背景需求:
01版本實現了對透明背景png圖案邊界線的擴展,黑線實線描邊
【教學類-102-01】自制剪紙圖案(留白邊、沿線剪)01-CSDN博客文章瀏覽閱讀974次,點贊15次,收藏7次。【教學類-102-01】自制剪紙圖案(留白邊、沿線剪)01https://blog.csdn.net/reasonsummer/article/details/146923140?spm=1011.2415.3001.5331
但是我希望圖案邊緣是點狀
圖案邊緣是虛線
搜索,發現PS可以制作虛線邊框
ps虛線框怎么做
https://jingyan.baidu.com/article/b7001fe118b2714f7382dd5d.html
https://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