Python tkinter -- 18장 캔버스 제어의 다각형

18.2.19 create_polygon(coords, ** options)
coords로 주어진 좌표에 따라 캔버스에 다각형을 그립니다.
(1) coords: 주어진 다각형의 좌표
(2) options: 옵션의 구체적인 의미:

옵션 의미
액티브 대시 마우스가 다각형 개체 위를 지나갈 때 점선 테두리를 그립니다.
액티브필 마우스가 폴리곤 개체 위를 지나갈 때 채우기 색상이
액티브 아웃라인 마우스가 다각형 개체 위를 지나갈 때 윤곽선을 그립니다.
액티브 아웃라인팁 마우스가 다각형 개체 위를 지날 때 외곽선을 채울 비트맵을 지정합니다.
액티브스티플 마우스가 다각형 개체 위를 지날 때 채울 비트맵 지정
활성 폭 마우스가 다각형 개체 위를 지나갈 때 테두리의 너비를 지정합니다.
대시 점선 윤곽선을 그리도록 지정합니다.
대시 오프셋 점선 윤곽 시작의 오프셋 위치를 지정하십시오. 이 매개변수는 유효하지 않습니다.
비활성화 대시 폴리곤 객체의 상태가 DISABLE일 때 점선을 그립니다.
비활성화된 채우기 폴리곤 객체의 상태가 DISABLE일 때 채우기 색상은
장애인개요 폴리곤 객체의 상태가 DISABLE일 때 외곽선을 그립니다.
비활성화된개요팁 폴리곤 객체의 상태가 DISABLE일 때 외곽선을 채울 비트맵을 지정합니다.
장애인 다각형 객체의 상태가 DISABLE이면 채워진 비트맵을 지정합니다.
장애인 너비 폴리곤 객체의 상태가 DISABLE일 때 테두리의 너비를 지정합니다.
채우다 채우기 색상을 지정합니다. 빈 문자열은 투명함을 의미합니다.
조인 스타일 두 개의 인접한 라인 세그먼트 사이의 인터페이스를 그릴 때 스타일을 지정합니다. 이 옵션의 값은 다음과 같습니다.
ROUND(접속점을 중심으로 1/2 너비 옵션으로 설정한 길이를 반경으로 사용하여 둥근 모서리를 그립니다.)
BEVEL (연결점에서 둥근 모서리 만들기 두 선분 사이의 접선 각도)
MITRE(두 선분 사이의 각도를 따라 점으로 확장)
기본값은 ROUND입니다.
오프셋 비트맵을 채울 오프셋을 지정합니다. 이 옵션의 값은 "x,y", "#x,y", N, NE, E, SE, S, SW, W, NW, CENTER입니다.
개요 외곽선의 색상을 지정
외곽선 오프셋 채워진 아웃라인 비트맵을 그리기 위한 오프셋을 참조하며 이 옵션의 값은 "x,y", "#x,y", N, NE, E, SE, S, SW, W, NW, CENTER일 수 있습니다.
윤곽선 외곽선 옵션이 설정되면 이 옵션은 테두리를 채울 비트맵을 지정하는 데 사용되며 기본값은 검은색을 의미하는 빈 문자열입니다.
매끄러운 이 옵션이 True이면 선분 대신 베지어 스플라인이 그려집니다. 기본값은 거짓입니다.
스플라인 단계 베지어 스플라인 곡선을 그릴 때 이 옵션은 곡선을 형성하는 데 사용되는 폴리라인 수를 지정하며 기본값은 12입니다. 이 옵션은 smooth 옵션이 True인 경우에만 적용됩니다.
상태 NORMAL, DISABLED(사용할 수 없음, 이벤트에 응답하지 않음) 및 HIDDEN(숨김)일 수 있는 다각형 개체의 상태를 지정합니다. 기본값은 정상입니다.
태그 생성된 폴리곤 객체에 레이블 추가
너비 테두리의 너비를 지정합니다.
18.2.19.1 활성 대시
마우스가 폴리곤 위를 지나가면 테두리가 파선으로 표시됩니다.
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
pol1=b1.create_polygon(20,40,150,100,140,160,30,120,
                       width=10,activedash=True,
                       outline='blue')
b1.pack()
root.mainloop()

결과:
여기에 이미지 설명 삽입
설명: 아웃라인 또는 활성 아웃라인을 설정해야 합니다. 그렇지 않으면 기본적으로 폴리곤에 테두리가 없습니다. 액티브 대시가 작동하지 않습니다.
18.2.19.2 액티브필
마우스가 폴리곤 위를 지나갈 때 폴리곤 내부의 색상.

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
pol1=b1.create_polygon(20,40,150,100,140,160,30,120,
                       activefill='red')
b1.pack()
root.mainloop()

결과:
여기에 이미지 설명 삽입
18.2.19.3 activeoutline
마우스가 다각형 위를 지날 때 다각형의 외곽선 색상입니다.

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
pol1=b1.create_polygon(20,40,150,100,140,160,30,120,
                       width=10,activeoutline='red')
b1.pack()
root.mainloop()

결과:
여기에 이미지 설명 삽입
18.2.19.4 activeoutlinestipple은
마우스가 다각형 위를 지날 때 다각형의 윤곽선을 채우는 비트맵을 정의합니다.

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
pol1=b1.create_polygon(20,40,150,100,140,160,30,120,
                       width=10,activeoutline='red',
                       activeoutlinestipple='error')
b1.pack()
root.mainloop()

결과:
여기에 이미지 설명 삽입
18.2.19.5 activestipple은
마우스가 다각형 위를 지날 때 다각형을 채우는 비트맵을 정의합니다.

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
pol1=b1.create_polygon(20,40,150,100,140,160,30,120,
                       width=10,activeoutline='red',
                       activestipple='@x.xbm')
b1.pack()
root.mainloop()

결과:
여기에 이미지 설명 삽입
18.2.19.6 activewidth는
마우스가 다각형 위를 지날 때 테두리의 너비를 정의합니다.

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
pol1=b1.create_polygon(20,40,150,100,140,160,30,120,
                       width=10,activewidth=20,
                       activeoutline='red')
b1.pack()
root.mainloop()

결과:
여기에 이미지 설명 삽입
설명: 활성 너비 값이 너비 값보다 작으면 테두리 너비가 변경되지 않습니다.
18.2.19.7 대시는
점선 테두리를 그립니다.

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
pol1=b1.create_polygon(20,40,150,100,140,160,30,120,
                       width=10,outline='blue',dash=True)
b1.pack()
root.mainloop()

결과:
여기에 이미지 설명 삽입
18.2.19.8 dashoffset
이 매개변수는 효과가 없습니다.
18.2.19.9 disableddash
다각형의 상태가 tk.DISABLED이면 점선 테두리를 표시합니다.

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
def state():
    b1.itemconfigure(pol1,state=tk.DISABLED)
b2=tk.Button(root,text='Disabled',command=state)
b2.pack()
pol1=b1.create_polygon(20,40,150,100,140,160,30,120,
                       width=5,outline='blue',
                       disableddash=True)
b1.pack()
root.mainloop()

결과:
여기에 이미지 설명 삽입
18.2.19.10 disabledfill
다각형의 상태가 tk.DISABLED인 경우 다각형의 채우기 색상입니다.

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
def state():
    b1.itemconfigure(pol1,state=tk.DISABLED)
b2=tk.Button(root,text='Disabled',command=state)
b2.pack()
pol1=b1.create_polygon(20,40,150,100,140,160,30,120,
                       width=5,outline='blue',
                       disabledfill='red')
b1.pack()
root.mainloop()

결과:
여기에 이미지 설명 삽입
18.2.19.11 disabledoutline
다각형의 상태가 tk.DISABLED인 경우 윤곽선을 그리는 색상입니다. 사용법은 섹션 18.2.19.3 활성 개요를 참조하십시오.
18.2.19.12 disabledoutlinestipple
다각형의 상태가 tk.DISABLED인 경우 외곽선의 채우기 비트맵입니다. 사용법은 섹션 18.2.19.4 activeoutlinestipple을 참조하십시오.
18.2.19.13 disabledstipple
다각형의 상태가 tk.DISABLED이면 다각형의 비트맵을 채웁니다. 사용법은 섹션 18.2.19.5 activestipple을 참조하십시오.
18.2.19.14 disabledwidth
폴리곤의 상태가 tk.DISABLED인 경우 폴리곤 테두리의 너비입니다. 사용법은 섹션 18.2.19.6 활성 폭을 참조하십시오.
18.2.19.15 채우기
다각형 내부의 채우기 색상입니다.

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
pol1=b1.create_polygon(20,40,150,100,140,160,30,120,
                       width=5,outline='blue',fill='red')
b1.pack()
root.mainloop()

결과:
여기에 이미지 설명 삽입
18.2.19.16 joinstyle은
다각형 선 세그먼트의 교차 모드를 정의하며 ROUND, BEVEL 및 MITRE의 세 가지 종류가 있습니다. 자세한 내용은 18.2.17.15를 참조하십시오.

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
pol1=b1.create_polygon(20,40,250,100,140,160,30,120,
                       width=25,outline='blue',
                       joinstyle='round')
b1.pack()
root.mainloop()

결과:
여기에 이미지 설명 삽입
18.2.19.17
오프셋이 비트맵을 음영 채우기로 사용할 때 비트맵을 배치하는 방법. 18.2.17.16의 설명을 참조하십시오.
18.2.19.18 outline
외곽선의 색상을 지정합니다. 외곽선 색상을 지정하지 않으면 내부 채우기 색상이 사용됩니다. 기본값은 검은색입니다.
18.2.19.19 outlineoffset
외곽선을 채우기 위해 비트맵을 음영으로 사용할 때 비트맵을 배치하는 방법입니다. 18.2.17.16의 지침을 참조하십시오.

18.2.19.20 outlinestipple은
윤곽선을 채울 비트맵을 지정합니다. 사용법은 섹션 18.2.19.4 activeoutlinestipple을 참조하십시오.
18.2.19.21 smooth
다각형의 테두리를 매끄럽게 할지 여부입니다.

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
pol1=b1.create_polygon(20,40,250,100,140,160,30,120,
                       width=15,outline='blue',
                       smooth=True)
b1.pack()
root.mainloop()

결과:
여기에 이미지 설명 삽입
18.2.19.22 splinesteps
smooth=True인 경우 곡선을 부드럽게 하는 방법은 무엇입니까? 스플라인 단계에 의존할 수 있습니다. 이 매개변수는 선분의 ​​두 점 사이의 부드러운 곡선의 단계 크기를 정의하며 점이 많을수록 곡선이 더 부드러워집니다.

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
pol1=b1.create_polygon(20,40,250,100,140,160,30,120,
                       width=15,outline='blue',
                       smooth=True,splinesteps=3)
b1.pack()
root.mainloop()

결과:
여기에 이미지 설명 삽입
18.2.19.23 상태는
다각형의 상태를 정의합니다. NORMAL, DISABLED 및 HIDDEN의 세 가지 유형이 있습니다.
18.2.19.24 stipple은
다각형을 채울 비트맵을 지정합니다. 사용법은 18.2.19.5 activestipple을 참조하십시오.
18.2.19.25 tags
다각형에 대한 태그를 지정합니다. 다른 방법으로 지정할 수도 있습니다.

18.2.19.26 너비는
다각형 외곽선의 너비를 정의합니다.

추천

출처blog.csdn.net/weixin_42272768/article/details/100865074