tkinter畫圖Canvas應用實例

原文地址

分類目錄——tkinter

  • 先看效果

    1584089948785

    其中藍色區域爲一塊畫布(Canvas)區域,在畫布上放置了圖片,畫了圓形、方形、扇形;下方的按鈕可以調用方法移動左邊的矩形

  • Canvas應用實例

    canvas = tk.Canvas(window, bg='blue', height=100, width=200)
    # 注意:tkinter中的座標系左上角爲原點,向右爲x軸正向,向下爲y軸正向
    
    # 在canvas(畫布)上放張圖片
    image_file = tk.PhotoImage(file='data/test1.gif')
    image = canvas.create_image(5, 5, anchor='nw', image=image_file)
    # 首先傳入的是錨點座標
    # anchor指定圖片的那個點爲錨點可選值有n s w e nw ne sw se
    
    x0, y0, x1, y1 = 50, 50, 80, 80
    # canvas的座標是以左上角爲(0,0),往右爲x正半軸,往下爲y正半軸
    line = canvas.create_line(x0, y0, x1, y1)   # 畫直線
    # 兩個點的四個座標值
    oval = canvas.create_oval(x0, y0, x1, y1, fill='red')    # 畫橢圓
    # 在左上角(x0, y0)和右下角(x1, y1)框住的矩形內畫一個橢圓,如果框了一個正方形,就是畫了一個正圓
    arc = canvas.create_arc(x0+30, y0+30, x1+30, y1+30, start=0, extent=180)    # 畫扇形
    # 四個座標值與上面畫圓的座標值一樣,start爲角度起始,extent爲角度結束
    rect = canvas.create_rectangle(100, 10, 100+50, 10+20)  # 畫矩形
    # canvas.delete(rect)   # 在畫布上刪除某個形狀
    rect2 = canvas.create_rectangle(120, 20, 110+50, 20+20)
    
    print(canvas.coords(rect))  # 獲得圖形座標(就是畫圖時傳入的值)
    
    canvas.pack()	# 放置畫布
    
  • 下方的Button

    def moveit():
        canvas.move(rect, 0, 2) # 移動某個圖形,下移動
    
    tk.Button(window, text='move', command=moveit).pack()
    
  • 全部代碼

  • 參考文獻

    代碼主要來自 Canvas 畫布,略有改動

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章