前言:
此刻大家对“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位