MonkeyImage

คลาส Monkeyrunner เพื่อเก็บรูปภาพหน้าจอของอุปกรณ์หรือโปรแกรมจำลอง รูปภาพคือ คัดลอกจากบัฟเฟอร์หน้าจอในระหว่างที่แสดงภาพหน้าจอ เมธอดของออบเจ็กต์นี้ช่วยให้คุณทำสิ่งต่อไปนี้ได้ แปลงรูปภาพเป็นที่เก็บข้อมูลรูปแบบต่างๆ เขียนภาพเป็นไฟล์ คัดลอกส่วนต่างๆ รูปภาพและเปรียบเทียบออบเจ็กต์นี้กับออบเจ็กต์MonkeyImageอื่นๆ

คุณไม่จำเป็นต้องสร้างอินสแตนซ์ใหม่ของ MonkeyImage ให้ใช้ MonkeyDevice.takeSnapshot() เพื่อสร้างอินสแตนซ์ใหม่จากภาพหน้าจอ ตัวอย่างเช่น ให้ใช้ข้อความต่อไปนี้

newimage = MonkeyDevice.takeSnapshot()

สรุป

วิธีการ
สตริง convertToBytes (รูปแบบ สตริง)
แปลงรูปภาพปัจจุบันเป็นรูปแบบเฉพาะและแสดงผลเป็น string ที่คุณเข้าถึงได้ในรูปแบบ iterable ของไบต์ไบนารี
tuple รับพิกเซล (จำนวนเต็ม x, จำนวนเต็ม y)
แสดงพิกเซลเดี่ยวที่ตำแหน่งภาพ (x,y) เป็น tuple ของ จำนวนเต็ม ในรูปแบบ (a,r,g,b)
จำนวนเต็ม ดึงพิกเซลInt (จำนวนเต็ม x, จำนวนเต็ม y)
แสดงพิกเซลเดี่ยวที่ตำแหน่งภาพ (x,y) เป็น จำนวนเต็ม 32 บิต
MonkeyImage getSubImage (สี่เหลี่ยมผืนผ้า tuple)
สร้างออบเจ็กต์ MonkeyImage ใหม่จากรายการที่เลือกเป็นรูปสี่เหลี่ยมผืนผ้า ภาพปัจจุบัน
บูลีน sameAs (MonkeyImage) อื่นๆ เปอร์เซ็นต์แบบลอย)
เปรียบเทียบออบเจ็กต์ MonkeyImage นี้กับออบเจ็กต์อื่น และแสดงผลลัพธ์ของ การเปรียบเทียบ อาร์กิวเมนต์ percent จะระบุเปอร์เซ็นต์ ความแตกต่างที่อนุญาตให้ใช้ระหว่างรูปภาพทั้ง 2 รูปเป็น "เท่ากัน"
เป็นโมฆะ writeToFile (เส้นทาง สตริง, รูปแบบ สตริง)
เขียนรูปภาพปัจจุบันไปยังไฟล์ที่ระบุโดย filename ใน รูปแบบที่ระบุโดย format

วิธีการสาธารณะ

สตริง convertToBytes ( รูปแบบสตริง)

แปลงรูปภาพปัจจุบันเป็นรูปแบบเฉพาะและแสดงผลเป็นสตริง ที่คุณจะเข้าถึงในฐานะย่อยของไบต์ไบนารีได้

อาร์กิวเมนต์
รูปแบบ รูปแบบเอาต์พุตที่ต้องการ ระบบรองรับรูปแบบเอาต์พุตแรสเตอร์ทั่วไปทั้งหมด ค่าเริ่มต้นคือ "png" (Portable Network Graphics)

tuple รับพิกเซล (จำนวนเต็ม x จำนวนเต็ม ป)

แสดงพิกเซลเดี่ยวที่ตำแหน่งภาพ (x,y) เป็น tuple ของ จำนวนเต็ม ในรูปแบบ (a,r,g,b)

อาร์กิวเมนต์
x ตำแหน่งแนวนอนของพิกเซล ซึ่งเริ่มต้นด้วย 0 ทางด้านซ้ายของหน้าจอใน การวางแนวที่มีอยู่เมื่อถ่ายภาพหน้าจอ
y ตำแหน่งแนวตั้งของพิกเซล ซึ่งเริ่มต้นด้วย 0 ที่ด้านบนของหน้าจอใน การวางแนวที่มีอยู่เมื่อถ่ายภาพหน้าจอ
คิกรีเทิร์น
  • ทูเปิลของจำนวนเต็มที่แทนพิกเซลในรูปแบบ (a,r,g,b) โดยที่ a คือค่าช่องอัลฟ่า ส่วน r, g และ b คือค่าสีแดง เขียว และน้ำเงิน ตามลำดับ

tuple รับพิกเซลInt (จำนวนเต็ม x จำนวนเต็ม ป)

แสดงพิกเซลเดี่ยวที่ตำแหน่งภาพ (x,y) เป็น จำนวนเต็ม ใช้วิธีนี้ประหยัดหน่วยความจำ

อาร์กิวเมนต์
x ตำแหน่งแนวนอนของพิกเซล ซึ่งเริ่มต้นด้วย 0 ทางด้านซ้ายของหน้าจอใน การวางแนวที่มีอยู่เมื่อถ่ายภาพหน้าจอ
y ตำแหน่งแนวตั้งของพิกเซล ซึ่งเริ่มต้นด้วย 0 ที่ด้านบนของหน้าจอใน การวางแนวที่มีอยู่เมื่อถ่ายภาพหน้าจอ
คิกรีเทิร์น
  • ค่า a,r,g และ b ของพิกเซลเป็นค่า 8 บิตที่รวมกันเป็น 32 บิต จำนวนเต็มที่มี 8 บิตทางซ้ายสุด r ทางขวาสุด ถัดไปเป็น 8 บิต เป็นต้น

วันที่ MonkeyImage getSubImage (สี่เหลี่ยมผืนผ้า tuple)

สร้างออบเจ็กต์ MonkeyImage ใหม่จากรายการที่เลือกเป็นรูปสี่เหลี่ยมผืนผ้า ภาพปัจจุบัน

อาร์กิวเมนต์
rect ทูเปิล (x, y, w, h) ที่ระบุการเลือก x และ y ระบุพิกเซลฐาน 0 ของมุมซ้ายบนของสิ่งที่เลือก w ระบุความกว้างของฟิลด์ ภูมิภาค และ h จะระบุความสูงของพื้นที่เป็นหน่วยพิกเซล

การวางแนวของรูปภาพจะตรงกับการวางแนวหน้าจอในช่วงเวลาที่ สร้างภาพหน้าจอแล้ว

คิกรีเทิร์น
  • ออบเจ็กต์ MonkeyImage ใหม่ที่มีการเลือกนี้

บูลีน sameAs ( รูปภาพอื่นๆ MonkeyImage เปอร์เซ็นต์จำนวนลอยตัว )

เปรียบเทียบออบเจ็กต์ MonkeyImage นี้กับออบเจ็กต์อื่น และแสดงผลลัพธ์ของ การเปรียบเทียบ อาร์กิวเมนต์ percent จะระบุเปอร์เซ็นต์ ความแตกต่างที่อนุญาตให้ใช้ระหว่างรูปภาพทั้ง 2 รูปเป็น "เท่ากัน"

อาร์กิวเมนต์
อื่นๆ ออบเจ็กต์ MonkeyImage อีกรายการที่จะเปรียบเทียบกับออบเจ็กต์นี้
เปอร์เซ็นต์ จำนวนลอยตัวในช่วง 0.0 ถึง 1.0 (รวมค่าทศนิยม) ซึ่งระบุ เปอร์เซ็นต์ของพิกเซลที่ต้องเหมือนกันเพื่อให้เมธอดแสดงผล true ค่าเริ่มต้นคือ 1.0 ซึ่งหมายความว่าพิกเซลทั้งหมด ต้องตรงกัน
คิกรีเทิร์น
  • บูลีน true หากรูปภาพตรงกัน หรือบูลีน false เป็นอย่างอื่น

เป็นโมฆะ writeToFile (ชื่อไฟล์ string สตริง)

เขียนรูปภาพปัจจุบันไปยังไฟล์ที่ระบุโดย filename ใน รูปแบบที่ระบุโดย format

อาร์กิวเมนต์
เส้นทาง ชื่อไฟล์และนามสกุลเต็มของไฟล์เอาต์พุต
รูปแบบ รูปแบบเอาต์พุตที่ใช้สำหรับไฟล์ หากไม่มีรูปแบบให้ จะพยายามเดารูปแบบจากนามสกุลของชื่อไฟล์ หากไม่ใช่ มีส่วนขยายและไม่มีการระบุรูปแบบ จะใช้รูปแบบเริ่มต้นของ "PNG" (รูปแบบกราฟิกเครือข่ายแบบพกพา)