MonkeyImage

monkeyrunner クラスは、デバイスまたはエミュレータの画面の画像を保持します。画像は、スクリーンショット中の画面バッファからコピーされます。このオブジェクトのメソッドを使用すると、さまざまな保存形式への画像の変換、ファイルへの画像の書き出し、画像の一部のコピー、このオブジェクトと他の MonkeyImage オブジェクトの比較ができます。

MonkeyImage のインスタンスを新たに作成する必要はありません。代わりに、 MonkeyDevice.takeSnapshot() を使用して、スクリーンショットから新しいインスタンスを作成します。たとえば、次のように使用します。

newimage = MonkeyDevice.takeSnapshot()

概要

メソッド
string convertToBytes (string format)
現在の画像を特定の形式に変換し、string として返します。これをバイナリバイトの iterable として使用できます。
tuple getRawPixel (integer x, integer y)
画像の (x,y) 位置にある単一のピクセルを、integertuple として、(a,r,g,b) 形式で返します。
integer getRawPixelInt (integer x, integer y)
画像の (x,y) 位置にある単一のピクセルを、32 ビットの integer として返します。
MonkeyImage getSubImage (tuple rect)
現在の画像の長方形の選択範囲から、新しい MonkeyImage オブジェクトを作成します。
boolean sameAs (MonkeyImage other, float percent)
この MonkeyImage オブジェクトと他のオブジェクトを比較して、比較結果を返します。percent 引数で、2 つの画像が「等しい」として許容される差異の割合を指定します。
void writeToFile (string path, string format)
現在の画像を、format で指定した形式で、filename で指定したファイルに書き出します。

パブリック メソッド

string convertToBytes ( string format)

現在の画像を特定の形式に変換し、string として返します。これをバイナリバイトの iterable として使用できます。

引数
format 目的の出力形式。一般的なラスター出力形式はすべてサポートされています。 デフォルト値は「png」(Portable Network Graphics)です。

tuple getRawPixel (integer x, integer y)

画像の (x,y) 位置にある単一のピクセルを、integertuple として、(a,r,g,b) 形式で返します。

引数
x スクリーンショットが取得されたときの画面の左端を座標の起点 0 とする、ピクセルの水平方向の位置。
y スクリーンショットが取得されたときの画面の上端を座標の起点 0 とする、ピクセルの垂直方向の位置。
戻り値
  • ピクセルを表す (a,r,g,b) 形式の整数のタプル。a はアルファ チャンネル値、r、g、b はそれぞれ赤、緑、青の値を表します。

tuple getRawPixelInt (integer x, integer y)

画像の (x,y) 位置にある単一のピクセルを integer として返します。このメソッドを使用すると、メモリを節約できます。

引数
x スクリーンショットが取得されたときの画面の左端を座標の起点 0 とする、ピクセルの水平方向の位置。
y スクリーンショットが取得されたときの画面の上端を座標の起点 0 とする、ピクセルの垂直方向の位置。
戻り値
  • ピクセルの a 値、r 値、g 値、b 値を 8 ビット値として結合し、32 ビットの整数に変換した値。左端の 8 ビットには a 値、その次の 8 ビットには r 値というように、順番に値が割り当てられます。

MonkeyImage getSubImage (tuple rect)

現在の画像の長方形の選択範囲から、新しい MonkeyImage オブジェクトを作成します。

引数
rect (x, y, w, h) のタプルで選択範囲を指定します。x と y は、選択範囲の左上隅のピクセル位置です(0 を起点とします)。w は選択範囲の横幅、h は選択範囲の高さで、両方とも単位はピクセルです。

画像の向きは、スクリーンショットが取得されたときの画面の向きと同じです。

戻り値
  • 選択範囲を含む新しい MonkeyImage オブジェクト。

boolean sameAs ( MonkeyImage otherImage, float percent )

この MonkeyImage オブジェクトと他のオブジェクトを比較して、比較結果を返します。percent 引数で、2 つの画像が「等しい」として許容される差異の割合を指定します。

引数
other このオブジェクトと比較する別の MonkeyImage オブジェクト。
percent 0.0~1.0 の範囲の浮動小数点数。メソッドが true を返すためには、この引数で指定した割合のピクセルが一致する必要があります。デフォルトは 1.0 で、すべてのピクセルが一致する必要があることを示します。
戻り値
  • 画像が一致する場合は boolean 値の true、一致しない場合は boolean 値の false

void writeToFile (string filename, string format)

現在の画像を、format で指定した形式で、filename で指定したファイルに書き出します。

引数
path 出力ファイルの完全修飾ファイル名および拡張子。
format ファイルの出力形式。形式が指定されていない場合、メソッドはファイル名の拡張子から形式を推測しようと試みます。拡張子も形式も指定されていない場合は、デフォルト形式の「png」(Portable Network Graphics)が使用されます。