MonkeyImage
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
monkeyrunner クラスは、デバイスまたはエミュレータの画面の画像を保持します。画像は、スクリーンショット中の画面バッファからコピーされます。このオブジェクトのメソッドを使用すると、さまざまな保存形式への画像の変換、ファイルへの画像の書き出し、画像の一部のコピー、このオブジェクトと他の MonkeyImage
オブジェクトの比較ができます。
MonkeyImage
のインスタンスを新たに作成する必要はありません。代わりに、
MonkeyDevice.takeSnapshot()
を使用して、スクリーンショットから新しいインスタンスを作成します。たとえば、次のように使用します。
newimage = MonkeyDevice.takeSnapshot()
概要
メソッド |
string
|
convertToBytes
(string format)
現在の画像を特定の形式に変換し、string として返します。これをバイナリバイトの iterable として使用できます。
|
tuple
|
getRawPixel
(integer x,
integer y)
画像の (x,y) 位置にある単一のピクセルを、integer の tuple として、(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 として返します。これをバイナリバイトの iterable として使用できます。
引数
format |
目的の出力形式。一般的なラスター出力形式はすべてサポートされています。
デフォルト値は「png」(Portable Network Graphics)です。
|
tuple
getRawPixel
(integer x,
integer y)
画像の (x,y) 位置にある単一のピクセルを、integer の tuple として、(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
。
現在の画像を、format
で指定した形式で、filename
で指定したファイルに書き出します。
引数
path |
出力ファイルの完全修飾ファイル名および拡張子。
|
format
|
ファイルの出力形式。形式が指定されていない場合、メソッドはファイル名の拡張子から形式を推測しようと試みます。拡張子も形式も指定されていない場合は、デフォルト形式の「png」(Portable Network Graphics)が使用されます。
|
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-07-27 UTC。
[null,null,["最終更新日 2025-07-27 UTC。"],[],[],null,["# MonkeyImage\n\nA monkeyrunner class to hold an image of the device or emulator's screen. The image is\ncopied from the screen buffer during a screenshot. This object's methods allow you to\nconvert the image into various storage formats, write the image to a file, copy parts of\nthe image, and compare this object to other `MonkeyImage` objects.\n\n\nYou do not need to create new instances of `MonkeyImage`. Instead, use\n[MonkeyDevice.takeSnapshot()](/tools/help/MonkeyDevice#takeSnapshot) to create a new instance from a screenshot. For example, use: \n\n```\nnewimage = MonkeyDevice.takeSnapshot()\n```\n\nSummary\n-------\n\n| Methods ||||||||||||\n|----------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|---|---|---|---|---|---|---|---|---|\n| *string* | [convertToBytes](#convertToBytes) (*string* format) Converts the current image to a particular format and returns it as a *string* that you can then access as an *iterable* of binary bytes. |\n| *tuple* | [getRawPixel](#getRawPixel) (*integer* x, *integer* y) Returns the single pixel at the image location (x,y), as an a *tuple* of *integer*, in the form (a,r,g,b). |\n| *integer* | [getRawPixelInt](#getRawPixelInt) (*integer* x, *integer* y) Returns the single pixel at the image location (x,y), as a 32-bit *integer*. |\n| ` `[MonkeyImage](/tools/help/MonkeyImage)` ` | [getSubImage](#getSubImage) (*tuple* rect) Creates a new `MonkeyImage` object from a rectangular selection of the current image. |\n| *boolean* | [sameAs](#sameAs) ([MonkeyImage](/tools/help/MonkeyImage) other, *float* percent) Compares this `MonkeyImage` object to another and returns the result of the comparison. The `percent` argument specifies the percentage difference that is allowed for the two images to be \"equal\". |\n| *void* | [writeToFile](#writeToFile) (*string* path, *string* format) Writes the current image to the file specified by `filename`, in the format specified by `format`. |\n\nPublic methods\n--------------\n\n#### *string*\nconvertToBytes\n( *string* format)\n\n\nConverts the current image to a particular format and returns it as a *string*\nthat you can then access as an *iterable* of binary bytes. \n\n##### Arguments\n\n| format | The desired output format. All of the common raster output formats are supported. The default value is \"png\" (Portable Network Graphics). |\n|--------|-------------------------------------------------------------------------------------------------------------------------------------------|\n\n#### *tuple*\ngetRawPixel\n(*integer* x, *integer* y)\n\n\nReturns the single pixel at the image location (x,y), as an\na *tuple* of *integer*, in the form (a,r,g,b). \n\n##### Arguments\n\n| x | The horizontal position of the pixel, starting with 0 at the left of the screen in the orientation it had when the screenshot was taken. |\n| y | The vertical position of the pixel, starting with 0 at the top of the screen in the orientation it had when the screenshot was taken. |\n|---|------------------------------------------------------------------------------------------------------------------------------------------|\n\n##### Returns\n\n- A tuple of integers representing the pixel, in the form (a,r,g,b) where a is the alpha channel value, and r, g, and b are the red, green, and blue values, respectively. \n\n#### *tuple*\ngetRawPixelInt\n(*integer* x, *integer* y)\n\n\nReturns the single pixel at the image location (x,y), as an\nan *integer*. Use this method to economize on memory. \n\n##### Arguments\n\n| x | The horizontal position of the pixel, starting with 0 at the left of the screen in the orientation it had when the screenshot was taken. |\n| y | The vertical position of the pixel, starting with 0 at the top of the screen in the orientation it had when the screenshot was taken. |\n|---|------------------------------------------------------------------------------------------------------------------------------------------|\n\n##### Returns\n\n- The a,r,g, and b values of the pixel as 8-bit values combined into a 32-bit integer, with a as the leftmost 8 bits, r the next rightmost, and so forth. \n\n#### `\n`[MonkeyImage](/tools/help/MonkeyImage)`\n`\ngetSubImage\n(*tuple* rect)\n\n\nCreates a new `MonkeyImage` object from a rectangular selection of the\ncurrent image. \n\n##### Arguments\n\n| rect | A tuple (x, y, w, h) specifying the selection. x and y specify the 0-based pixel position of the upper left-hand corner of the selection. w specifies the width of the region, and h specifies its height, both in units of pixels. The image's orientation is the same as the screen orientation at the time the screenshot was made. |\n|------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n\n##### Returns\n\n- A new `MonkeyImage` object containing the selection. \n\n#### *boolean*\nsameAs\n( `\n`[MonkeyImage](/tools/help/MonkeyImage)`\n` otherImage, *float* percent )\n\n\nCompares this `MonkeyImage` object to another and returns the result of\nthe comparison. The `percent` argument specifies the percentage\ndifference that is allowed for the two images to be \"equal\". \n\n##### Arguments\n\n| other | Another `MonkeyImage` object to compare to this one. |\n| percent | A float in the range 0.0 to 1.0, inclusive, indicating the percentage of pixels that need to be the same for the method to return `true`. The default is 1.0, indicating that all the pixels must match. |\n|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n\n##### Returns\n\n- Boolean `true` if the images match, or boolean `false` otherwise. \n\n#### void\nwriteToFile\n(*string* filename, *string* format)\n\n\nWrites the current image to the file specified by `filename`, in the\nformat specified by `format`. \n\n##### Arguments\n\n| path | The fully-qualified filename and extension of the output file. |\n| format | The output format to use for the file. If no format is provided, then the method tries to guess the format from the filename's extension. If no extension is provided and no format is specified, then the default format of \"png\" (Portable Network Graphics) is used. |\n|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|"]]