MonkeyImage

存储设备或模拟器屏幕截图的 monkeyrunner 类。在截图过程中,系统会从屏幕缓冲区复制该图片。此对象的方法可让您将该图片转换为各种存储格式,将该图片写入文件,复制该图片的某些部分,还可以将此对象与其他 MonkeyImage 对象进行比较。

您无需创建 MonkeyImage 的新实例,而是可以使用 MonkeyDevice.takeSnapshot() 根据屏幕截图创建一个新实例。例如,使用以下命令:

newimage = MonkeyDevice.takeSnapshot()

摘要

方法
string convertToBytes (string format)
将当前图片转换为特定格式并以字符串形式返回该图片,然后您可以将其作为二进制字节的可迭代对象来访问。
tuple getRawPixel (integer x, integer y)
以 (a,r,g,b) 格式的整数元组形式返回图片位置 (x,y) 处的单个像素。
integer getRawPixelInt (integer x, integer y)
以 32 位整数形式返回图片位置 (x,y) 处的单个像素。
MonkeyImage getSubImage (tuple rect)
根据当前图片的矩形选择区创建一个新的 MonkeyImage 对象。
boolean sameAs (MonkeyImage other, float percent)
将此 MonkeyImage 对象与另一个对象进行比较,并返回比较结果。percent 参数指定两张“等同”的图片之间可以存在的百分比差异。
void writeToFile (string path, string format)
将当前图片以 format 指定的格式写入 filename 指定的文件。

公开方法

string convertToBytes ( string format)

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

参数
format 所需的输出格式。支持所有常用的光栅输出格式。默认值为“png”(Portable Network Graphics)。

tuple getRawPixel (integer x, integer y)

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

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

tuple getRawPixelInt (integer x, integer y)

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

参数
x 像素的水平位置,以屏幕左边的像素 0 开始,与截取屏幕截图时的方向一致。
y 像素的垂直位置,以屏幕顶部的像素 0 开始,与截取屏幕截图时的方向一致。
返回
  • 像素的 a、r、g 和 b 值(以 8 位值形式合并为 32 位整数),其中 a 是最左边的 8 位,r 是最右边的 8 位,依此类推。

MonkeyImage getSubImage (tuple rect)

根据当前图片的矩形选择区创建一个新的 MonkeyImage 对象。

参数
rect 指定所选内容的元组 (x, y, w, h)。x 和 y 表示所选内容左上角从 0 开始的像素位置。w 表示区域的宽度,h 表示其高度,均以像素为单位。

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

返回
  • 一个包含所选内容的新 MonkeyImage 对象。

boolean sameAs ( MonkeyImage otherImage, float percent )

将此 MonkeyImage 对象与另一个对象进行比较,并返回比较结果。percent 参数指定两张“等同”的图片之间可以存在的百分比差异。

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

void writeToFile (string filename, string format)

将当前图片以 format 指定的格式写入 filename 指定的文件。

参数
path 输出文件的完全限定文件名和扩展名。
format 文件的输出格式。如果没有提供格式,该方法将尝试根据文件扩展名猜出格式。如果未提供扩展名且未指定格式,则使用默认格式“png”(Portable Network Graphics)。