Skip to main content

屏幕图像

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_pathstr图片文件路径
  • 返回值

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)
  • 参数
参数类型是否必填说明
imageImage.Image图片对象,来源于文件读取,或者屏幕截图
pathstr要存储的图片路径
  • 示例
# 将屏幕截图保存到工程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)
  • 参数
参数类型是否必填说明
imageImage.Image图片对象,来源于文件读取,或者屏幕截图
recttuple要裁剪的区域数组 如(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)
  • 参数
参数类型是否必填说明
imageImage.Image图片对象,来源于文件读取,或者屏幕截图
x,yint要获取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)
  • 参数
参数类型是否必填说明
imageImage.Image图片对象,来源于文件读取,或者屏幕截图
angleint旋转角度
expandint旋转后,是否保证所有图像都在范围内
  • 返回值

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')
  • 参数
参数类型是否必填说明
imageImage.Image图片对象,来源于文件读取,或者屏幕截图
_formatstr要格式化的图片格式,默认'PNG' 其他如:'JPG'
qualityint清晰度
  • 返回值

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")
  • 参数
参数类型是否必填说明
imageImage.Image要转base64的图片
image_filestr要转base64的图片文件,和image 参数只能存在一个
image_formatstr转换图片格式,默认PNG
decodestr编码格式,默认"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)