MonkeyImage
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Class monkeyrunner untuk menyimpan gambar dari perangkat atau layar emulator. Gambar
disalin dari buffer layar saat pengambilan screenshot. Metode objek ini memungkinkan Anda
mengonversi gambar ke dalam berbagai format penyimpanan, menuliskan gambar ke file, menyalin bagian-bagian
gambar, dan membandingkan objek ini dengan objek MonkeyImage
lainnya.
Anda tidak perlu membuat instance MonkeyImage
baru. Sebagai gantinya,
gunakan
MonkeyDevice.takeSnapshot()
untuk membuat instance baru dari screenshot. Misalnya, gunakan:
newimage = MonkeyDevice.takeSnapshot()
Ringkasan
Metode |
string
|
convertToBytes
(string format)
Mengonversi gambar saat ini ke dalam format tertentu dan menampilkannya sebagai
string yang kemudian dapat Anda akses sebagai iterable byte biner.
|
tuple
|
getRawPixel
(integer x,
integer y)
Menampilkan piksel tunggal di lokasi gambar (x,y), sebagai
tuple integer, dalam format (a,r,g,b).
|
integer
|
getRawPixelInt
(integer x,
integer y)
Menampilkan piksel tunggal di lokasi gambar (x,y) sebagai
integer 32 bit.
|
MonkeyImage
|
getSubImage
(tuple rect)
Membuat objek MonkeyImage baru dari pemilihan persegi panjang
gambar saat ini.
|
boolean
|
sameAs
(MonkeyImage
other,
float percent)
Membandingkan objek MonkeyImage ini dengan objek lain dan menampilkan hasil
perbandingan. Argumen percent menentukan selisih
persentase yang diizinkan agar dua gambar dapat dianggap "setara".
|
void
|
writeToFile
(string path,
string format)
Menuliskan gambar saat ini ke file yang ditentukan oleh filename , dalam
format yang ditentukan oleh format .
|
Metode publik
Mengonversi gambar saat ini ke dalam format tertentu dan menampilkannya sebagai string
yang kemudian dapat Anda akses sebagai iterable byte biner.
Argumen
format |
Format output yang diinginkan. Mendukung semua format output raster umum.
Nilai defaultnya adalah "png" (Portable Network Graphics).
|
tuple
getRawPixel
(integer x,
integer y)
Menampilkan piksel tunggal di lokasi gambar (x,y) sebagai
tuple integer dalam format (a,r,g,b).
Argumen
x |
Posisi horizontal piksel, dimulai dengan 0 di sebelah kiri layar dengan
orientasi seperti ketika screenshot diambil.
|
y |
Posisi vertikal piksel, dimulai dengan 0 di bagian atas layar dengan
orientasi seperti ketika screenshot diambil.
|
Hasil
-
Tuple integer yang menunjukkan piksel, dalam format (a,r,g,b) dengan
a adalah nilai saluran alfa, dan r, g, dan b berturut-turut adalah nilai merah, hijau,
dan biru.
tuple
getRawPixelInt
(integer x,
integer y)
Menampilkan piksel tunggal di lokasi gambar (x,y) sebagai
integer. Gunakan metode ini untuk menghemat memori.
Argumen
x |
Posisi horizontal piksel, dimulai dengan 0 di sebelah kiri layar dengan
orientasi seperti ketika screenshot diambil.
|
y |
Posisi vertikal piksel, dimulai dengan 0 di bagian atas layar dengan
orientasi seperti ketika screenshot diambil.
|
Hasil
-
Nilai a,r,g, dan b piksel sebagai nilai 8 bit yang digabung menjadi integer 32 bit,
dengan a sebagai 8 bit sisi paling kiri, r sebagai sisi paling kanan setelahnya, dan seterusnya.
MonkeyImage
getSubImage
(tuple rect)
Membuat objek MonkeyImage
baru dari pemilihan persegi panjang gambar
saat ini.
Argumen
rect |
Tuple (x, y, w, h) menentukan pemilihan. x dan y menentukan posisi piksel
berbasis 0 di sudut kiri atas pemilihan. w menentukan lebar
area, dan h menentukan tinggi, keduanya dalam satuan piksel.
Orientasi gambar sama dengan orientasi layar pada saat
screenshot diambil.
|
Hasil
-
Objek
MonkeyImage
baru yang berisi pemilihan.
boolean
sameAs
(
MonkeyImage
otherImage,
float percent
)
Membandingkan objek MonkeyImage
ini dengan objek lain dan menampilkan hasil
perbandingan. Argumen percent
menentukan selisih
persentase yang diizinkan agar dua gambar dapat dianggap "setara".
Argumen
other |
Objek MonkeyImage lain yang akan dibandingkan dengan objek ini.
|
percent
|
Float dalam rentang 0,0 hingga 1,0, inklusif, yang
menunjukkan persentase piksel yang harus sama agar metode menampilkan nilai
true . Default-nya adalah 1,0, yang menunjukkan bahwa semua piksel
harus cocok.
|
Hasil
-
Boolean
true
jika gambar cocok, atau boolean false
jika sebaliknya.
Menuliskan gambar saat ini ke file yang ditentukan oleh filename
, dalam format
yang ditentukan oleh format
.
Argumen
path |
Nama file dan ekstensi dari file output yang sepenuhnya memenuhi syarat. |
format |
Format output yang akan digunakan untuk file. Jika tidak ada format yang disediakan,
metode akan mencoba menebak format dari ekstensi nama file. Jika
tidak ada ekstensi yang disediakan dan tidak ada format yang ditentukan, metode akan
menggunakan format default "png" (Portable Network Graphics).
|
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|"]]