龙空技术网

Python-pyautogui利用鼠标在图片编辑器绘制图片(代码可执行)

昵称都被重复了 140

前言:

此刻大家对“pythonxy64位”可能比较珍视,各位老铁们都需要剖析一些“pythonxy64位”的相关资讯。那么小编在网摘上搜集了一些对于“pythonxy64位””的相关文章,希望小伙伴们能喜欢,看官们快快来学习一下吧!

代码中用到了鼠标操控和相对坐标,有不懂得可以参考:Python编程xy坐标之什么是相对坐标 和 Python-pyautogui如何控制鼠标键盘

代码演示

别看下面整个一大串十分复杂,仔细一看只用到了以下几条代码和一些简单的坐标计算,控制鼠标不停地循环绘制横竖线条

按下鼠标按键:mouseDown()释放鼠标按键:mouseUp()相对坐标移动鼠标:moveRel()获取鼠标当前坐标:position()

import pyautoguiclass Drawing():    def run(self):        minnum = 0     # 最小值        maxnum = 100   # 最大值        spacing = 10   # 每个方块间隔距离        duration = 0.2 # 每段线条的绘制消耗时间        # 绘制多个方块        pyautogui.moveTo(400, 521, 0.2)        while minnum <= maxnum:                minnum += spacing   #  计算绘制当前图形的半径                                 pyautogui.moveRel(-spacing, -spacing, duration)                pyautogui.mouseDown()                                     # 按键左键                pyautogui.moveRel(minnum*2,  0,  duration)    # 从左往右绘制:横                pyautogui.moveRel(0,  minnum*2,  duration)    # 从上往下绘制:竖                pyautogui.moveRel(-minnum*2,  0,  duration)   # 从右往左绘制:横                pyautogui.moveRel(0,  -minnum*2,  duration)   # 从下往上绘制:竖                pyautogui.mouseUp()	                                          # 释放左键        # 用来给鼠标指针定位        maxnum += spacing            # 计算整个图形的半径         x, y = pyautogui.position()   # 获取指针当前坐标        # 绘制 十 字        pyautogui.mouseDown(x,  y+maxnum,)        pyautogui.moveRel(maxnum*2,  0,  duration)        pyautogui.mouseUp()        pyautogui.mouseDown(x+maxnum,  y)        pyautogui.moveRel(0,  maxnum*2,  duration)        pyautogui.mouseUp()        # 绘制 X        pyautogui.mouseDown(x, y)        pyautogui.moveRel(maxnum*2,  maxnum*2,  duration)        pyautogui.mouseUp()        pyautogui.mouseDown(x+maxnum*2,  y)        pyautogui.moveRel(-maxnum*2,  maxnum*2,  duration)        pyautogui.mouseUp()dra= Drawing()   # 实例化类dra.run()              # 调用方法执行代码

执行结果:

有些人可能会疑惑,为什么不直接用:dragRel() ,拖动鼠标来绘制,这样还省去了:mouseDown() 、mouseUp() 和 position(),这个试过了绘制速度太慢,太快的话会导致 线条之间不连贯图一:每段线条

图一:绘制耗时0.2秒,图二:每段线条绘制耗时3秒,也许是我代码问题,有兴趣的可以试试(如果有成功的,可以在评论里贴下代码)下面我就不贴代码了,免的水字数太多[偷笑][得意]

视频演示

我写代码太慢,为了不耽误大家时间,直接写好代码在录制的

视频加载中...

标签: #pythonxy64位