在開發類 Word 的文本編輯器時,圖片、表格等嵌入物件的縮放與移動是核心交互功能。這需要一套精確的「控制點」機制,讓使用者能透過滑鼠拖曳八個方向調整物件大小。本文深入解析內外控制點的座標模型與游標切換邏輯。
內控制點位於物件邊界矩形的四個角與四條邊的中點,編號 0 至 7,對應八種調整方向:
┌─────────────────┐ │■0 1■ 2■│ │ │ │ │ │ │ │ │ │■7 3■│ │ │ │ │ │ │ │ │ │■6 5■ 4■│ └─────────────────┘
SizeNWSE、SizeNS 等),提供直觀視覺回饋。外控制點繞著物件外包矩形分佈,用於容器層級的對齊、吸附與群組操作:
■ ■ ■ ┌────────────────┐ │0 1 2 │ │ │ │ │ │ │ │ │ ■│7 3│■ │ │ │ │ │ │ │ │ │6 5 4 │ └────────────────┘ ■ ■ ■
外控制點不直接改變物件尺寸,而是提供參考線、磁鐵吸附或群組選取輔助,提升排版精度。
Cursor.Current。此機制可擴展至旋轉控制點(第 9 個點)、多選物件的群組控制點、以及對齊參考線的動態顯示,構建專業級的排版體驗。