屏幕图像
from ascript.ios import screen
从屏幕中 获取图像数据
, 图像转换
等操作
屏幕图像
截取屏幕图片
获取当前屏幕截图
- 函数
screen.capture()
- 返回值
PIL.Image.Image PIL Image图像.
- 示例
# 获取当前屏幕截图,并显示
from ascript.ios import screen
image = screen.capture()
if image:
image.show()
区域截图
获取一个区域的屏幕截图
- 函数
screen.capture(rect:tuple=None)
- 返回值
PIL.Image.Image PIL Image图像.
- 示例
# 获取当前屏幕截图,并显示
from ascript.ios import screen
image = screen.capture([0,0,100,300])
if image:
image.show()
获取屏幕尺寸
获取当前屏幕尺寸
- 函数
screen.size()
- 返回值
tuple(width,height) 屏幕宽高元组
- 示例
# 获取当前屏幕尺寸
from ascript.ios import screen
width,height = screen.size()
print(width,height)
获取屏幕朝向
获取屏幕朝向
- 函数
screen.ori()
- 返回值
enum.Enum.Orientation 屏幕数据枚举
- 示例
# 获取当前屏幕朝向
from ascript.ios import screen
ori = screen.ori()
print(ori)
图片
图片对象都为 Pil.Image.
可以通过截图,或文件读取得到
读取图片
screen.image_read(file_path)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
file_path | str | 是 | 图片文件路径 |
- 返回值
PIL.Image.Image PIL Image图像.
- 示例
# 从资源目录中读取一张图片
from ascript.ios import screen
from ascript.ios.system import R
image = screen.image_read(R.img("a.png"))
if image:
image.show()
保存图片
screen.image_save(image: Image.Image, path: str)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
image | Image.Image | 是 | 图片对象,来源于文件读取,或者屏幕截图 |
path | str | 是 | 要存储的图片路径 |
- 示例
# 将屏幕截图保存到工程res/img/2.png
from ascript.ios import screen
from ascript.ios.system import R
image = screen.capture()
screen.image_save(image,R.img("2.png"))
裁剪图片
screen.image_crop(image: Image.Image, , rect: tuple)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
image | Image.Image | 是 | 图片对象,来源于文件读取,或者屏幕截图 |
rect | tuple | 是 | 要裁剪的区域数组 如(0,0,100,100) |
- 返回值
PIL.Image.Image PIL Image图像.
- 示例
# 获取屏幕截图, 然后截取区域(0,0,100,100)
from ascript.ios import screen
from ascript.ios.system import R
image = screen.capture()
screen.image_crop(image,(0,0,100,100))
图像某点颜色值
screen.image_pixel(image: Image.Image, x: int, y: int)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
image | Image.Image | 是 | 图片对象,来源于文件读取,或者屏幕截图 |
x,y | int | 是 | 要获取rgb 颜色的 坐标 |
- 返回值
[r,g,b] 三通道的颜色数组
- 示例
# 从屏幕截图中获取某坐标的颜色值
from ascript.ios import screen
from ascript.ios.system import R
image = screen.capture()
r,g,b = screen.image_pixel(image,0,0)
print(r,g,b)
旋转图像
screen.image_rotate(image: Image.Image, angle: int, expand: bool = True)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
image | Image.Image | 是 | 图片对象,来源于文件读取,或者屏幕截图 |
angle | int | 是 | 旋转角度 |
expand | int | 是 | 旋转后,是否保证所有图像都在范围内 |
- 返回值
PIL.Image.Image PIL Image图像.
- 示例
# 从屏幕截图中获取某坐标的颜色值
from ascript.ios import screen
from ascript.ios.system import R
image = screen.capture()
new_image = screen.image_rotate(image,90,True)
图像压缩
screen.image_rotate(image: Image.Image, quality=50,_format='PNG')
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
image | Image.Image | 是 | 图片对象,来源于文件读取,或者屏幕截图 |
_format | str | 否 | 要格式化的图片格式,默认'PNG' 其他如:'JPG' |
quality | int | 否 | 清晰度 |
- 返回值
PIL.Image.Image PIL Image图像.
- 示例
from ascript.ios import screen
from ascript.ios.system import R
image = screen.capture()
new_image = screen.image_compress(image,50)
图片转base64
screen.image_to_base64(image: Image.Image = None, image_file: str = None, image_format='PNG', decode: str = "utf-8")
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
image | Image.Image | 否 | 要转base64的图片 |
image_file | str | 否 | 要转base64的图片文件,和image 参数只能存在一个 |
image_format | str | 否 | 转换图片格式,默认PNG |
decode | str | 否 | 编码格式,默认"utf-8" |
- 返回值
PIL.Image.Image PIL Image图像.
- 示例
from ascript.ios import screen
from ascript.ios.system import R
image = screen.capture()
b64str = screen.image_to_base64(image)