MonkeyImage

一个用于保存设备或模拟器屏幕图像的 monkeyrunner 类。该图像在截屏期间从屏幕缓冲区复制。此对象的方法允许您将图像转换为各种存储格式,将图像写入文件,复制图像的一部分,并将此对象与其他 MonkeyImage 对象进行比较。

您无需创建 MonkeyImage 的新实例。而是使用 MonkeyDevice.takeSnapshot() 从屏幕截图创建新实例。例如,使用

newimage = MonkeyDevice.takeSnapshot()

摘要

方法
字符串 convertToBytes (字符串 format)
将当前图像转换为特定格式,并将其作为您可以随后作为二进制字节的可迭代对象访问的字符串返回。
元组 getRawPixel (整数 x, 整数 y)
以 (a,r,g,b) 的形式返回图像位置 (x,y) 处的单个像素,作为整数元组
整数 getRawPixelInt (整数 x, 整数 y)
以 32 位整数的形式返回图像位置 (x,y) 处的单个像素。
MonkeyImage getSubImage (元组 rect)
从当前图像的矩形选区创建新的 MonkeyImage 对象。
布尔值 sameAs (MonkeyImage other, 浮点数 percent)
将此 MonkeyImage 对象与另一个对象进行比较,并返回比较结果。 percent 参数指定允许两个图像“相等”的百分比差异。
无效 writeToFile (字符串 path, 字符串 format)
将当前图像写入 filename 指定的文件,格式由 format 指定。

公共方法

字符串 convertToBytes ( 字符串 format)

将当前图像转换为特定格式,并将其作为您可以随后作为二进制字节的可迭代对象访问的字符串返回。

参数
format 所需的输出格式。所有常见的栅格输出格式都受支持。默认值为“png”(便携式网络图形)。

元组 getRawPixel (整数 x, 整数 y)

以 (a,r,g,b) 的形式返回图像位置 (x,y) 处的单个像素,作为整数元组

参数
x 像素的水平位置,从截屏时屏幕左侧的 0 开始(以当时的屏幕方向为准)。
y 像素的垂直位置,从截屏时屏幕顶部的 0 开始(以当时的屏幕方向为准)。
返回值
  • 一个整数元组,表示像素,格式为 (a,r,g,b),其中 a 是 alpha 通道值,r、g 和 b 分别是红色、绿色和蓝色值。

元组 getRawPixelInt (整数 x, 整数 y)

整数形式返回图像位置 (x,y) 处的单个像素。使用此方法可以节省内存。

参数
x 像素的水平位置,从截屏时屏幕左侧的 0 开始(以当时的屏幕方向为准)。
y 像素的垂直位置,从截屏时屏幕顶部的 0 开始(以当时的屏幕方向为准)。
返回值
  • 像素的 a、r、g 和 b 值作为 8 位值组合成一个 32 位整数,其中 a 为最左边的 8 位,r 为下一个最右边的 8 位,依此类推。

MonkeyImage getSubImage (元组 rect)

从当前图像的矩形选区创建新的 MonkeyImage 对象。

参数
rect 一个元组 (x, y, w, h),指定选区。x 和 y 指定选区左上角的基于 0 的像素位置。w 指定区域的宽度,h 指定区域的高度,均以像素为单位。

图像的方向与截屏时屏幕的方向相同。

返回值
  • 包含选区的新 MonkeyImage 对象。

布尔值 sameAs ( MonkeyImage otherImage, 浮点数 percent )

将此 MonkeyImage 对象与另一个对象进行比较,并返回比较结果。 percent 参数指定允许两个图像“相等”的百分比差异。

参数
other 另一个要与此对象进行比较的 MonkeyImage 对象。
percent 一个介于 0.0 到 1.0(含)之间的浮点数,指示方法返回 true 所需的相同像素的百分比。默认为 1.0,表示所有像素必须匹配。
返回值
  • 如果图像匹配,则为布尔值 true,否则为布尔值 false

void writeToFile (字符串 filename, 字符串 format)

将当前图像写入 filename 指定的文件,格式由 format 指定。

参数
path 输出文件的完整文件名和扩展名。
format 要用于文件的输出格式。如果未提供格式,则该方法尝试从文件名的扩展名猜测格式。如果未提供扩展名且未指定格式,则使用默认格式“png”(便携式网络图形)。