한다 공부
[Python] 실습4 : 그림판 프로그램 구현 (+Tkinter) 본문
그림판이라고 하기에도 너무나도 단순한
그림 그리는 프로그램이다.
기능은
왼쪽 마우스를 누르고 그림을 그리면
파란펜으로 그림이 그려지고
'빨간펜' 이라는 버튼을 누르고 그림을 그리면
빨간펜으로 그림이 그려진다
canvas.create_oval을 쓰면
x0 y0을 왼쪽 상단 점으로
x1 y1을 오른쪽 하단 점으로 하는 사각형에 내접한 타원이 그려진다.
이걸 펜으로 쓸 예정이다.
작은 원들이 모여서 선을 그린다고 생각하면 된다.
가시적으로 보이게 하기 위해 두툼한 펜으로 그어봤다
원이 보이나용?
canvas.create_rectangle을 써도 되는데,
이 경우에는 작은 네모들이 모여서 선을 그려낸다
아래가 canvas.create_rectangle을 쓴 것이다
네모네모가 보미나묘?
취향에 맞게 고르자
from tkinter import *
mycolor = "blue"
#그리는 함수, 튜플을 이용해 위치 값을 전달해주자
def paint(event):
x1, y1 = ( event.x-1 ), ( event.y-1 )
x2, y2 = ( event.x+1 ), ( event.y+1 )
canvas.create_oval(x1, y1, x2, y2, fill=mycolor, outline=mycolor)
#빨간색으로 변경하는 함수
def change_color():
global mycolor
mycolor="red"
window = Tk();
canvas = Canvas(window);
canvas.pack()
#왼쪽 마우스를 누르면 그려지도록 함
canvas.bind("<B1-Motion>", paint)
#"빨간색"버튼을 누르면 change_color 함수를 통해 색 변경
button = Button(window, text="빨간색",command=change_color)
button.pack()
window.mainloop()
실행결과는 아래와 같다
그림을 그리고 "빨간색" 버튼을 눌러서 글씨를 썼다
그림판이랑 유사한 기능을 한다
코드를 좀만 손보면 더 그림판 같아질 것 같다
펜 설정도 자유롭게 바꿀 수 있고
꽤 마음에 드는 프로그램을 취향에 맞게 만들 수 있다
굿입니다. 굿!
[참고자료] 두근두근 파이썬 (생능출판, 천인국)
'Dev > Python' 카테고리의 다른 글
[Django] Model, ERD (0) | 2022.08.08 |
---|---|
[Python] 실습5 : 인치 -> 센티미터 변환기 (+Tkinter) (1) | 2021.07.23 |
[Python] 실습3 : 메모장 프로그램 구현 (0) | 2021.07.23 |
[Python] 실습2 : 행맨 게임 (+file open) (0) | 2021.07.23 |
[Python] 실습1 : 누적 합 계산기 (+Tkinter) (1) | 2021.07.23 |