MonkeyImage

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

您不需要创建新的 MonkeyImage 实例。相反,请使用 MonkeyDevice.takeSnapshot() 从截屏创建新实例。例如,使用

newimage = MonkeyDevice.takeSnapshot()

摘要

方法
字符串 convertToBytes (字符串 格式)
将当前图像转换为特定格式,并将其作为字符串返回,您可以将其作为二进制字节的可迭代访问。
元组 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 (字符串 路径, 字符串 格式)
将当前图像写入 filename 指定的文件,格式由 format 指定。

公共方法

字符串 convertToBytes ( 字符串 格式)

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

参数
格式 所需的输出格式。所有常见的栅格输出格式都受支持。默认值为“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, 字符串 格式)

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

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