### 1.9繪畫
每一個部件都有一個畫布(可以在上面畫東西)。畫布是一組的繪圖指令,只要部件的繪圖指令發生變動,則它們就會被執行。
你可以添加兩種類型的指令到畫布:上下文指令和頂點指令。你可以利用Python代碼或者KV文件(更推薦的一種方式)來添加指令。首選是通過KV文件添加指令,好處就是當它們依賴的屬性發生變動時,都會進行自動更新。而在Python代碼中,你需要手動處理。下面是兩者的比對:

在這兩種情況下,當部件的位置和尺寸發生改變時,*MyWidget*的畫布都會進行重繪。
當你想讓代碼執行時,可以使用[canvas.before](https://kivy.org/docs/api-kivy.graphics.html#kivy.graphics.Canvas.before)和[canvas.after](https://kivy.org/docs/api-kivy.graphics.html#kivy.graphics.Canvas.after)來分組你的指令。
如果想進行深入的了解,請參閱Kivy的繪圖如何被處理[How kivy's graphics are handled](https://kivy.org/docs/api-kivy.graphics.html#module-kivy.graphics)。
### 下節預告:1.10 打包