6 月 3 日の「#Android11: The Beta Launch Show」にぜひご参加ください。

MonkeyImage

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

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

    newimage = MonkeyDevice.takeSnapshot()
    

概要

メソッド
string convertToBytes (string format)
現在の画像を特定の形式に変換して、それを string 型(バイナリバイトの iterable 型として使用可能)で返します。
tuple getRawPixel (integer x, integer y)
画像の (x,y) 位置にある単一のピクセルを、(a,r,g,b) 形式の integertuple 型で返します。
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) 位置にある単一のピクセルを、(a,r,g,b) 形式の integertuple 型で返します。

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

tuple getRawPixelInt (integer x, integer y)

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

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

MonkeyImage getSubImage (tuple rect)

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

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

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

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

boolean sameAs ( MonkeyImage otherImage, float percent )

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

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

void writeToFile (string filename, string format)

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

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