ㄍ๏ สารบัญ ๏ㄟ
๛ การย่อขยายวัตถุด้วยเมธอด .scale()
๛ การยืดเฉพาะแนวตั้งหรือนอนโดยใช้ .stretch
๛ การกำหนดจุดใจกลางในการย่อขยายยืดหด
๛ การเปลี่ยนขนาดภาพโดยกำหนดขนาดความกว้างหรือความสูงด้วย .set_width() หรือ .set_height()
๛ การพลิกภาพ
ต่อจาก
บทที่ ๕
ในบทที่แล้วได้แสดงถึงวิธีการทำภาพเคลื่อนไหวเบื้องต้นไปแล้ว สำหรับในบทนี้จะว่าด้วยเรื่องของการปรับขนาดวัตถุ
การย่อขยายวัตถุด้วยเมธอด .scale()介
การย่อหรือขยายขนาดวัตถุทำได้โดยใช้เมธอด .scale() โดยใส่ค่าจำนวนเท่าของขนาดเดิมที่ต้องการขยาย
และเช่นเดียวกับเมธอด .shift() หรือเมธอดที่แนะนำไปก่อนหน้านี้ คือสามารถเติม .animate นำหน้าไปเป็น .animate.scale() แล้วใช้ใน self.play() ได้ ซึ่งก็จะเป็นการทำภาพเคลื่อนไหวซึ่งแสดงขั้นตอนการย่อขยาย
ตัวอย่าง ลองทำภาพเคลื่อนไหวแสดงการขยายขนาดวัตถุ ๗ เท่า
สำหรับการย่อขนาดให้ใส่ค่าน้อยกว่า 1 ลงไป เช่น
การยืดเฉพาะแนวตั้งหรือนอนโดยใช้ .stretch介
กรณีที่ต้องการยืดหรือหดแค่แนวตั้งหรือแนวนอนให้ใช้เมธอด .stretch() วิธีใช้ก็คล้ายกับ .scale แต่นอกจากใส่จำนวนเท่าที่จะยืดขยายแล้ว ให้ใส่เลขระบุแนวไปด้วย ถ้าแนวนอนเป็น 0 แนวตั้งเป็น 1
ตัวอย่าง ยืดขยาย
บีบหด
การกำหนดจุดใจกลางในการย่อขยายยืดหด介
ปกติถ้าใช้ .scale หรือ .stretch() จะทำให้เกิดการย่อขยายหรือยืดหดจากจุดกึ่งกลางของภาพ แต่หากต้องการเปลี่ยนเป็นกำหนดจุดกึ่งกลางเอาเองก็ทำได้โดยใช้ใส่คีย์เวิร์ด about_point
ตัวอย่าง
การเปลี่ยนขนาดภาพโดยกำหนดขนาดความกว้างหรือความสูงด้วย .set_width() หรือ .set_height()介
หากต้องการเปลี่ยนขนาดภาพให้กว้างหรือยาวตามที่ต้องการก็ทำได้โดยใช้เมธอด .set_width() หรือ .set_height()
หากใช้ .set_width() จะเป็นการกำหนดความกว้างที่ต้องการ ส่วนความสูงก็จะถูกปรับให้ได้สัดส่วนตามนั้น
หากใช้ .set_height() จะเป็นการกำหนดความสูงที่ต้องการ ส่วนความกว้างก็จะถูกปรับให้ได้สัดส่วนตามนั้น
ตัวอย่างการใช้
กรณีที่ต้องการปรับขนาดเฉพาะแค่ความกว้างหรือความสูงอย่างใดอย่างหนึ่งโดยไม่เกี่ยวข้องกันให้ใส่ stretch=True
หรืออาจเขียนอีกแบบ คือโดยใช้ .stretch_to_fit_width() และ .stretch_to_fit_height() เช่น ตัวอย่างที่แล้วอาจเขียนใหม่ได้เป็น
ซึ่งก็จะได้ผลเหมือนเดิม
การพลิกภาพ介
หากใช้ .stretch() แล้วใส่ค่าสัดส่วนเป็น -1 ก็จะเท่ากับเป็นการกลับภาพ เช่น
ถ้าจะพลิกทั้งแนวตั้งและแนวนอนก็อาจใช้ .scale()
อ่านบทถัดไป >>
บทที่ ๗