คู่มือนี้อธิบายวิธีปรับขนาดและจัดตำแหน่งองค์ประกอบของหน้าโดยใช้การแปลงแบบแอฟฟิน ด้วย Google สไลด์ API ดูข้อมูลเบื้องต้นเกี่ยวกับแนวคิดของ การแปลงแบบแอฟฟินได้ในคำแนะนำเกี่ยวกับแนวคิดการแปลงและองค์ประกอบหน้า
เปลี่ยนรูปแบบองค์ประกอบ
Slides API ช่วยให้คุณเปลี่ยนตำแหน่งและปรับขนาดองค์ประกอบในหน้าได้ หากต้องการทำเช่นนี้ ให้พิจารณาก่อนว่าต้องใช้การเปลี่ยนรูปแบบประเภทใด แล้วจึงใช้การเปลี่ยนรูปแบบนั้นโดยใช้วิธี presentations.batchUpdate()
ที่มีองค์ประกอบ UpdatePageElementTransformRequest
อย่างน้อย 1 รายการ
คุณสามารถทำการแปลงโดยใช้
ApplyMode
ได้ดังนี้
ABSOLUTE
การเปลี่ยนรูปแบบจะแทนที่เมทริกซ์การเปลี่ยนรูปแบบที่มีอยู่ขององค์ประกอบ ระบบจะตั้งค่าพารามิเตอร์ที่คุณละเว้นจากคำขออัปเดตการเปลี่ยนรูปแบบเป็น ศูนย์RELATIVE
การเปลี่ยนรูปแบบจะคูณกับเมทริกซ์การเปลี่ยนรูปแบบที่มีอยู่ขององค์ประกอบ (ลำดับการคูณมีความสำคัญ)
การเปลี่ยนรูปแบบแบบสัมพัทธ์จะย้ายหรือปรับขนาดองค์ประกอบหน้าเว็บจากตำแหน่งเดิม เช่น การย้ายรูปร่างไปทางซ้าย 100 จุด หรือหมุน 40 องศา การเปลี่ยนแบบสัมบูรณ์จะทิ้งข้อมูลตำแหน่งและการปรับขนาดที่มีอยู่ เช่น การย้ายรูปร่างไปที่กึ่งกลางของหน้า หรือการปรับขนาดให้มีความกว้างที่เฉพาะเจาะจง
โดยปกติแล้วการแปลงที่ซับซ้อนสามารถแสดงเป็นลำดับของการแปลงที่ง่ายกว่าได้ การคำนวณการเปลี่ยนรูปแบบล่วงหน้า ซึ่งเป็นการรวมการเปลี่ยนรูปแบบหลายรายการโดยใช้ การคูณเมทริกซ์ มักจะช่วยลดค่าใช้จ่ายได้
สำหรับการดำเนินการบางอย่าง คุณต้องทราบพารามิเตอร์การเปลี่ยนรูปแบบที่มีอยู่ขององค์ประกอบ
หากไม่มีค่าเหล่านี้ คุณสามารถเรียกข้อมูลได้โดยใช้เมธอด
presentations.pages.get()
การแปล
การแปลคือการย้ายองค์ประกอบของหน้าไปยังตำแหน่งใหม่ในหน้าเดียวกัน การแปลสัมบูรณ์จะย้ายองค์ประกอบไปยังจุดที่เฉพาะเจาะจง ส่วนการแปลสัมพัทธ์จะย้ายองค์ประกอบเป็นระยะทางที่เฉพาะเจาะจง
เมตริกซ์การเปลี่ยนรูปแบบการแปลพื้นฐานมีรูปแบบดังนี้
เมื่อใช้
UpdatePageElementTransformRequest
เพื่อแปลองค์ประกอบ (โดยไม่เปลี่ยนขนาด การเฉือน หรือการวางแนว) คุณ
สามารถใช้โครงสร้าง
AffineTransform
อย่างใดอย่างหนึ่งต่อไปนี้
// Absolute translation: { 'transform': { 'scaleX': current scaleX value, 'scaleY': current scaleY value, 'shearX': current shearX value, 'shearY': current shearY value, 'translateX': X coordinate to move to, 'translateY': Y coordinate to move to, 'unit': 'EMU' // or 'PT' } } // Relative translation (scaling must also be provided to avoid a matrix multiplication error): { 'transform': { 'scaleX': 1, 'scaleY': 1, 'translateX': X coordinate to move by, 'translateY': Y coordinate to move by, 'unit': 'EMU' // or 'PT' } }
ปรับขนาด
การปรับขนาดคือการยืดหรือบีบองค์ประกอบตามมิติ X หรือ Y เพื่อเปลี่ยนขนาด เมตริกซ์การเปลี่ยนรูปแบบการปรับขนาดพื้นฐานมีรูปแบบดังนี้
คุณใช้รูปแบบเมทริกซ์นี้โดยตรงเป็นRELATIVE
การแปลงเพื่อปรับขนาดองค์ประกอบได้ แต่การดำเนินการนี้อาจส่งผลต่อการเฉือนและการแปลที่แสดงผลขององค์ประกอบด้วย
หากต้องการปรับขนาดองค์ประกอบโดยไม่ส่งผลต่อการเฉือนหรือการเปลี่ยนตำแหน่ง ให้เปลี่ยนไปใช้
กรอบอ้างอิงขององค์ประกอบ
การหมุน
การเปลี่ยนรูปแบบการหมุนจะหมุนองค์ประกอบของหน้าโดยรอบจุดหนึ่งๆ โดยใช้พารามิเตอร์การปรับขนาดและ การเฉือน เมทริกซ์การหมุนพื้นฐานมีการแปลงรูปแบบต่อไปนี้ โดยวัดมุมของการหมุน (เป็นเรเดียน) จากแกน X โดยหมุน ทวนเข็มนาฬิกา
เช่นเดียวกับการปรับขนาด คุณสามารถใช้รูปแบบเมทริกซ์นี้โดยตรงเป็น RELATIVE
transform
เพื่อหมุนองค์ประกอบ แต่การทำเช่นนี้จะทำให้องค์ประกอบหมุนรอบจุดเริ่มต้น
ของหน้าเว็บ หากต้องการหมุนองค์ประกอบรอบจุดกึ่งกลางหรือจุดอื่น ให้เปลี่ยนไปใช้กรอบอ้างอิงขององค์ประกอบนั้น
การทบทวนตนเอง
การสะท้อนจะพลิกองค์ประกอบตามเส้นหรือแกนที่เฉพาะเจาะจง เมทริกซ์การแปลงการสะท้อนแกน x และแกน y พื้นฐานมีรูปแบบดังนี้
เช่นเดียวกับการปรับขนาด คุณสามารถใช้รูปแบบเมทริกซ์นี้โดยตรงเป็นRELATIVE
การเปลี่ยนรูปแบบ
เพื่อสะท้อนองค์ประกอบ แต่การทำเช่นนี้จะทำให้องค์ประกอบมีการแปลด้วย หากต้องการ
แสดงองค์ประกอบโดยไม่มีการแปล ให้เปลี่ยนไปใช้เฟรมอ้างอิงองค์ประกอบ
เฟรมอ้างอิงขององค์ประกอบ
การใช้การเปลี่ยนรูปแบบการปรับขนาด การหมุน หรือ การสะท้อนพื้นฐานกับองค์ประกอบของหน้าเว็บโดยตรง จะทำให้เกิดการเปลี่ยนรูปแบบในกรอบอ้างอิงของหน้าเว็บ เช่น การหมุนพื้นฐานจะหมุนองค์ประกอบรอบจุดเริ่มต้นของหน้า (มุมบนซ้าย) อย่างไรก็ตาม คุณสามารถดำเนินการในกรอบอ้างอิงขององค์ประกอบได้ เช่น หมุนองค์ประกอบรอบจุดกึ่งกลาง
หากต้องการเปลี่ยนองค์ประกอบภายในกรอบอ้างอิงของตัวเอง ให้ใส่ไว้ระหว่างการแปลอื่นๆ 2 รายการ ได้แก่ การแปลก่อนหน้า T1
ซึ่งย้ายกึ่งกลางขององค์ประกอบ
ไปยังจุดเริ่มต้นของหน้า และการแปลถัดไป T2
ซึ่งย้ายองค์ประกอบกลับ
ไปยังตำแหน่งเดิม การดำเนินการทั้งหมดสามารถแสดงเป็นผลคูณของเมทริกซ์ได้ดังนี้
นอกจากนี้ คุณยังเปลี่ยนไปใช้เฟรมอ้างอิงอื่นๆ ได้ด้วยการแปลจุดต่างๆ ไปยังจุดเริ่มต้นแทน จุดเหล่านี้จะกลายเป็นศูนย์กลางของกรอบอ้างอิงใหม่
คุณสามารถทำการเปลี่ยนรูปแบบแต่ละอย่างแยกกันได้โดยใช้RELATIVE
คำขอเปลี่ยนรูปแบบตามลำดับ ในทางที่ดี คุณควรคำนวณA'
ข้างต้นล่วงหน้าด้วยการคูณเมทริกซ์ แล้วใช้ผลลัพธ์เป็นABSOLUTE
การแปลงรายการเดียว หรือจะคำนวณT2 * B * T1
ผลิตภัณฑ์ล่วงหน้าแล้วใช้เป็นRELATIVE
การแปลงรายการเดียวก็ได้ ทั้ง 2 วิธีนี้มีประสิทธิภาพมากกว่าในแง่ของการดำเนินการ API
เมื่อเทียบกับการส่งคำขอการแปลงทีละรายการ
ข้อจำกัด
ฟิลด์การปรับขนาดและการวางตำแหน่งบางรายการใช้ไม่ได้กับองค์ประกอบหน้าเว็บบางประเภท ตารางต่อไปนี้สรุปความเข้ากันได้ขององค์ประกอบหน้าเว็บบางอย่างกับฟิลด์การปรับขนาดและการวางตำแหน่ง
ช่อง | รูปร่าง | วิดีโอ | ตาราง |
---|---|---|---|
คำแปล | ✔ | ✔ | ✔ |
Scale | ✔ | ✔ | ไม่ได้** |
Shear | ✔ | ไม่ | ไม่ |
หากต้องการอัปเดตขนาดแถวและคอลัมน์ของตาราง ให้ใช้
UpdateTableRowPropertiesRequest
และ
UpdateTableColumnPropertiesRequest
ฟิลด์การปรับขนาดและการวางตำแหน่งทั้งหมดอาจให้ผลลัพธ์ที่ไม่คาดคิดหากองค์ประกอบหน้าเว็บมีการเฉือน ข้อจำกัดทั้งหมดอาจมีการเปลี่ยนแปลง โปรดดูข้อมูลล่าสุดที่ Google Slides API
ค่าที่ปรับโครงสร้างใหม่
เมื่อสร้างองค์ประกอบหน้าเว็บ คุณสามารถระบุขนาดและเปลี่ยนรูปองค์ประกอบนั้น เพื่อให้ได้ผลลัพธ์ภาพที่ต้องการ อย่างไรก็ตาม Slides API อาจแทนที่ค่าที่คุณระบุด้วยค่าอื่นๆ ที่ให้ลักษณะที่ปรากฏเหมือนกัน โดยทั่วไป หากคุณเขียนขนาดโดยใช้ API ระบบจะไม่รับประกันว่าจะแสดงขนาดเดียวกัน อย่างไรก็ตาม คุณควรได้รับผลลัพธ์เดียวกันหากพิจารณา การแปลง