תמונת Monkey

מחלקה של קוף שמחזיק תמונה של המכשיר או המסך של האמולטור. התמונה היא מועתק ממאגר הנתונים הזמני של המסך במהלך צילום מסך. ה-methods של האובייקט הזה מאפשרות להמיר את התמונה לפורמטים שונים של אחסון, לכתוב את התמונה לקובץ, להעתיק חלקים את התמונה, ולהשוות את האובייקט הזה לאובייקטים אחרים של MonkeyImage.

אין צורך ליצור מופעים חדשים של MonkeyImage. במקום זאת, השתמשו MonkeyDevice.takeSnapshot() כדי ליצור מכונה חדשה מצילום מסך. לדוגמה:

newimage = MonkeyDevice.takeSnapshot()

סיכום

שיטות
מחרוזת ConversionToBytes (פורמט מחרוזת)
ממירה את התמונה הנוכחית לפורמט מסוים ומחזירה אותה string, שאליו אפשר לגשת בתור ערך איטרציה של בייטים בינאריים.
tuple getRawPixel (integer x, שלם y)
מחזירה את הפיקסל היחיד במיקום התמונה (x,y), tuple של integer, בפורמט (a,r,g,b).
מספר שלם getRawPixelInt (integer x, שלם y)
הפונקציה מחזירה את הפיקסל היחיד במיקום התמונה (x,y), כפי מספר שלם בגרסת 32 ביט.
MonkeyImage getSubImage (tuple מלבן)
יצירת אובייקט MonkeyImage חדש מתוך בחירה מלבנית של התמונה הנוכחית.
בוליאני sameAs (MonkeyImage other, אחוז float)
משווה את האובייקט MonkeyImage הזה לאובייקט אחר, ומחזירה את התוצאה של להשוואה. הארגומנט percent מציין את האחוז מותר שתי התמונות יהיו "שוות".
ריק writeToFile (נתיב מחרוזת, פורמט string)
כתיבת התמונה הנוכחית לקובץ שצוין על ידי filename, בפונקציית פורמט שצוין על ידי format.

שיטות ציבוריות

מחרוזת conversionToBytes ( פורמט string)

ממירה את התמונה הנוכחית לפורמט מסוים ומחזירה אותה כ-string שאחר כך אפשר לגשת אליו בתור ערך שאי אפשר לשנות לבייטים בינאריים.

ארגומנטים
פורמט פורמט הפלט הרצוי. יש תמיכה בכל הפורמטים הנפוצים של פלט רשת נקודות. ערך ברירת המחדל הוא png. (Portable Network Graphics).

tuple getRawPixel (integer x, integer y)

מחזירה את הפיקסל היחיד במיקום התמונה (x,y), tuple של integer, בצורה (a,r,g,b).

ארגומנטים
x המיקום האופקי של הפיקסל, שמתחיל ב-0 בצד שמאל של המסך את הכיוון שבו הוא היה כשצילום המסך צולם.
y המיקום האנכי של הפיקסל, שמתחיל ב-0 בחלק העליון של המסך את הכיוון שבו הוא היה כשצילום המסך צולם.
החזרות
  • מספר של מספרים שלמים שמייצגים את הפיקסל בצורה (a,r,g,b) a הוא הערך של ערוץ אלפא, ו-r, g ו-b הם הערכים אדומים, ירוק וכחול, בהתאמה.

tuple getRawPixelInt (integer x, integer y)

מחזירה את הפיקסל היחיד במיקום התמונה (x,y), מספר שלם. תוכלו להשתמש בשיטה הזו כדי לחסוך בזיכרון.

ארגומנטים
x המיקום האופקי של הפיקסל, שמתחיל ב-0 בצד שמאל של המסך את הכיוון שבו הוא היה כשצילום המסך צולם.
y המיקום האנכי של הפיקסל, שמתחיל ב-0 בחלק העליון של המסך את הכיוון שבו הוא היה כשצילום המסך צולם.
החזרות
  • ערכי a,r,g ו-b של הפיקסל כערכי 8-ביט המשולבים לערכי 32-ביט מספר שלם, כאשר r הוא 8 הביטים השמאליים ביותר, r הבא הכי מתאים וכו'.

MonkeyImage getSubImage (tuple מלבן)

יצירת אובייקט MonkeyImage חדש מבחירה מלבנית של התמונה הנוכחית.

ארגומנטים
rect קיבוע (x, y, w, h) שמציין את הבחירה. X ו-y מציינים את הפיקסלים שמבוססים על 0 של הפינה השמאלית העליונה של הבחירה. w מציין את הרוחב ו-h מציין את הגובה שלו, גם ביחידות של פיקסלים.

כיוון התמונה זהה לכיוון המסך בזמן צילום המסך בוצע.

החזרות
  • אובייקט MonkeyImage חדש שמכיל את הבחירה.

בוליאני sameAs ( MonkeyImage otherImage, אחוז float )

משווה את האובייקט MonkeyImage הזה לאובייקט אחר, ומחזירה את התוצאה של להשוואה. הארגומנט percent מציין את האחוז מותר שתי התמונות יהיו "שוות".

ארגומנטים
אחר אובייקט MonkeyImage נוסף להשוואה לזה.
אחוז מספר ממשי (float) בטווח 0.0 עד 1.0, כולל, שמציין אחוז הפיקסלים שצריכים להיות זהים כדי שהשיטה תחזיר true ברירת המחדל היא 1.0, שמציינת שכל הפיקסלים חייב להיות תואם.
החזרות
  • ערך בוליאני true אם התמונות תואמות, או ערך בוליאני false אחרת.

ריק writeToFile (שם הקובץ string, פורמט string)

כתיבת התמונה הנוכחית לקובץ שצוין על ידי filename, בפונקציית פורמט שצוין על ידי format.

ארגומנטים
נתיב שם הקובץ והסיומת המלאים של קובץ הפלט.
פורמט פורמט הפלט שבו יש להשתמש עבור הקובץ. אם לא צוין פורמט, שמנסה לנחש את הפורמט לפי הסיומת של שם הקובץ. אם לא הוזן תוסף ולא צוין פורמט, אז פורמט ברירת המחדל של "png" (Portable Network Graphics) נעשה שימוש.