MonkeyImage
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Một lớp monkeyrunner để lưu ảnh chụp màn hình của thiết bị hoặc trình mô phỏng. Hình ảnh sẽ được sao chép từ vùng đệm màn hình từ quá trình chụp màn hình. Các phương thức của đối tượng này cho phép bạn chuyển đổi hình ảnh sang nhiều định dạng lưu trữ khác nhau, lưu hình ảnh vào một tệp, sao chép các phần của hình ảnh và so sánh đối tượng này với các đối tượng MonkeyImage
khác.
Bạn không cần khởi tạo thực thể mới cho đối tượng MonkeyImage
. Thay vào đó, hãy sử dụng phương thức
MonkeyDevice.takeSnapshot()
để tạo một thực thể mới từ ảnh chụp màn hình. Ví dụ: hãy sử dụng
newimage = MonkeyDevice.takeSnapshot()
Tóm tắt
Phương thức |
string
|
convertToBytes
(string format)
Chuyển đổi hình ảnh hiện tại sang một định dạng cụ thể và trả về dưới dạng một chuỗi mà sau đó bạn có thể truy cập ở dạng dữ liệu kiểu lặp gồm các byte nhị phân.
|
tuple
|
getRawPixel
(integer x,
integer y)
Trả về một giá trị pixel tại vị trí hình ảnh (x, y), dưới dạng một bộ dữ liệu số nguyên, có dạng (a,r,g,b) ,
|
integer
|
getRawPixelInt
(integer x,
integer y)
Trả về một giá trị pixel tại vị trí hình ảnh (x,y), dưới dạng một số nguyên 32 bit.
|
MonkeyImage
|
getSubImage
(tuple rect)
Khởi tạo một đối tượng MonkeyImage mới từ vùng chọn chữ nhật cho hình ảnh hiện tại.
|
boolean
|
sameAs
(MonkeyImage
other,
float percent)
So sánh đối tượng MonkeyImage này với một đối tượng khác và trả về kết quả so sánh. Đối số percent chỉ định mức chênh lệch theo tỷ lệ mà hai hình ảnh được coi là "bằng" nhau.
|
void
|
writeToFile
(string path,
string format)
Lưu hình ảnh hiện tại vào tệp do filename chỉ định, ở định dạng do format chỉ định.
|
Phương thức công khai
Chuyển đổi hình ảnh hiện tại về một định dạng cụ thể và trả về hình ảnh đó dưới dạng một chuỗi mà sau đó bạn có thể truy cập dưới dạng dữ liệu kiểu lặp gồm các byte nhị phân.
Đối số
format |
Định dạng đầu ra mong muốn. Tất cả định dạng đầu ra raster phổ biến đều được hỗ trợ.
Giá trị mặc định là "png" (Đồ hoạ mạng di động).
|
tuple
getRawPixel
(integer x,
integer y)
Trả về một pixel tại vị trí hình ảnh (x, y), dưới dạng bộ ký tự số nguyên, có dạng (a,r,g,b) ,
Đối số
x |
Vị trí theo chiều ngang của pixel, tính từ giá trị 0 từ bên trái màn hình dựa trên hướng màn hình đang mở khi chụp ảnh màn hình.
|
y |
Vị trí theo chiều dọc của pixel, tính từ giá trị 0 từ bên trái màn hình dựa trên hướng màn hình đang mở khi chụp ảnh màn hình.
|
Giá trị trả về
-
Một bộ dữ liệu số nguyên thể hiện các giá trị pixel, hiển thị dưới dạng (a,r,g,b) với a là giá trị của kênh alpha (thể hiện độ đậm nhạt) và r, g, b tương ứng là giá trị của màu đỏ, lục và lam.
tuple
getRawPixelInt
(integer x,
integer y)
Trả về một giá trị pixel tại vị trí hình ảnh (x,y) với x, y là số nguyên. Sử dụng phương pháp này để tiết kiệm dung lượng trên bộ nhớ.
Đối số
x |
Vị trí theo chiều ngang của pixel, tính từ giá trị 0 từ bên trái màn hình dựa trên hướng màn hình đang mở khi chụp ảnh màn hình.
|
y |
Vị trí theo chiều dọc của pixel, tính từ giá trị 0 từ bên trái màn hình dựa trên hướng màn hình đang mở khi chụp ảnh màn hình.
|
Giá trị trả về
-
Các giá trị a, r, g và b của pixel theo định dạng 8 bit kết hợp thành một số nguyên 32 bit, với a là 8 bit ở ngoài cùng bên trái, r ở ngoài cùng bên phải, v.v.
MonkeyImage
getSubImage
(tuple rect)
Tạo một đối tượng MonkeyImage
mới từ vùng chọn hình chữ nhật cho hình ảnh hiện tại.
Đối số
rect |
Một bộ dữ liệu (x, y, w, h) xác định vùng chọn. x và y xác định vị trí tính từ gốc toạ độ 0 của pixel (nằm trên cùng góc trên bên trái của vùng chọn). w chỉ định chiều rộng của vùng và h chỉ định chiều cao của vùng, cả hai đơn vị này đều tính theo đơn vị pixel.
Hướng của hình ảnh giống với hướng màn hình tại thời điểm chụp ảnh màn hình.
|
Giá trị trả về
-
Một đối tượng
MonkeyImage
mới có chứa vùng chọn này.
boolean
sameAs
(
MonkeyImage
otherImage,
float percent
)
So sánh đối tượng MonkeyImage
này với một đối tượng khác và trả về kết quả so sánh. Đối số percent
chỉ định mức chênh lệch theo tỷ lệ mà hai hình ảnh được coi là "bằng" nhau.
Đối số
other |
Một đối tượng MonkeyImage khác để so sánh với đối tượng này.
|
percent
|
Một số thực có giá trị chạy từ 0.0 đến 1.0, xác định số phần trăm các pixels giá trị giống nhau cần thiết để phương thức này trả về giá trị true . Giá trị mặc định là 1.0, thể hiện tất cả các pixel đều giống nhau.
|
Giá trị trả về
-
Boolean
true
nếu hình ảnh giống nhau, nếu không boolean false
.
Lưu hình ảnh hiện tại vào tệp do filename
chỉ định, ở định dạng do format
chỉ định.
Đối số
path |
Tên tệp và đuôi tệp hợp lệ của tệp đầu ra.
|
format
|
Định dạng tệp đầu ra. Nếu bạn không cung cấp định dạng cụ thể, phương thức này sẽ cố gắng đoán định dạng từ phần mở rộng của tên tệp. Nếu bạn không cung cấp phần mở rộng và định dạng nào trước đó, phương thức này sẽ sử dụng định dạng mặc định "png" (Đồ hoạ mạng di động).
|
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 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|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|"]]