autopy 使用初体验 The Fourth day(hour)

位图(bitmap)

代码我写一个文件里了,粘贴的时候可能会漏掉之前的函数,如果有函数未定义 找一下别的代码段。

autopy.bitmap.capture_screen(rect: Tuple[Tuple[float, float], Tuple[float, float]]) → autopy.bitmap.Bitmap

返回主显示给定部分的屏幕抓图,如果rect为,则返回整个显示None

异常(Exceptions:):

  • ValueError 如果rect超出范围,则抛出该异常。

  • IOError 如果图像解析失败,则抛出该异常。

import autopy
def save_bmp_foggy(img,path_str):
	return img.save(path_str)
def cap_sc_foggy(rt=((40,40),(800,200))):
	return autopy.bitmap.capture_screen(rt)
if __name__ == '__main__':
	img=cap_sc_foggy()
	save_bmp_foggy(img,'photo/test/test2.png')

结果:屏幕截图  并保存(保存的函数详细介绍在下面)

class autopy.bitmap.Bitmap类有14个方法,let's go。

1/14:save路径:str格式:str = None 

以给定格式将图像保存到绝对路径。图像类型默认根据文件名确定,除非给出了格式。如果文件已经存在,将其覆盖。当前仅支持jpeg和png文件。

异常(Exceptions:):

  • IOError 如果无法保存文件,则抛出该错误。

  • ValueError 如果无法解析图像,则抛出该异常。

 

2/14:openpath:str ) →位图

打开位于指定路径的图像。图像的格式由路径的文件扩展名确定。

import autopy
#打开
def open_bmp_foggy(path_str):
	return autopy.bitmap.Bitmap.open(path_str)
#保存
def save_bmp_foggy(img,path_str):
	img.save(path_str)
if __name__ == '__main__':
	img=open_bmp_foggy('photo/test/test1.png')
	save_bmp_foggy(img,'photo/test/test2.png')

结果:打开test1 保存至test2

3/14:copy_to_pasteboard()

将图像复制到粘贴板。当前仅在macOS上受支持。#我用不了。

异常(Exceptions:):

  • IOError 如果无法复制图像,则抛出该异常。

  • ValueError 如果图像太大或太小,则抛出该图像。

4/14:point_in_boundsx:floaty:float ) → bool

如果给定点包含在中,则返回True。

5/14:rect_in_boundsrect:Tuple [Tuple [float,float],Tuple [float,float]] ) → bool

如果给定rect包含在中,则返回True

和autopy.screen.is_point_visible(x,y)应该类似。

6/14:

get_colorx:floaty:float ) →Tuple [int,int,int] #应该是只有一个int。

返回描述给定点颜色的十六进制值。

异常(Exceptions:):

  • ValueError 如果该点超出范围,则抛出该异常。

和autopy.screen.get_color(x,y)类似

7/14:find_color(color: Tuple[int, int, int], tolerance: float=None, rect: Tuple[Tuple[float, float], Tuple[float, float]]=None, start_point: Tuple[float, float]=None) → Tuple[float, float]

从图里找到指定颜色的坐标,否则返回None rect默认为整个图,start_point默认为原点,tolerance为0到1的浮点数,0为完全匹配,1为绝对匹配。

import autopy
def find_cl_foggy(img,color_f=(255,255,255),to=None):
	return img.find_color(color_f,to)
if __name__ == '__main__':
	img=cap_sc_foggy()
	print(find_cl_foggy(img))
	save_bmp_foggy(img,'photo/test/test2.png')

结果:(0.0, 3.0)

8/14:find_every_color(color: Tuple[int, int, int], tolerance: float=None, rect: Tuple[Tuple[float, float], Tuple[float, float]]=None, start_point: Tuple[float, float]=None) → List[Tuple[float, float]]

找所有满足条件的点

import autopy
#指定颜色所有位置
def find_cel_foggy(img,color_f=(255,255,255),to=None):
	return img.find_every_color(color_f,to)
if __name__ == '__main__':
	img=cap_sc_foggy()
	print(find_cel_foggy(img))
	save_bmp_foggy(img,'photo/test/test2.png')

结果:[(0.0, 3.0), (0.0, 4.0), (0.0, 5.0), (0.0, 6.0), ...(799.0, 178.0), (799.0, 179.0)]]

9/14:count_of_color(color: Tuple[int, int, int], tolerance: float=None, rect: Tuple[Tuple[float, float], Tuple[float, float]]=None, start_point: Tuple[float, float]=None) → int

颜色计数  和len(find_every_color(color, tolerance, rect, start_point))一样

好的 以上大部分都用不到 最后5个看下一篇。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值