티스토리 뷰
(프로젝트 파일)
* 2019.01.16 내용 수정
- Zoom 기능 추가 (본문 하단 스크린샷에는 없음)
- 상단 프로젝트 파일을 최신내용 반영된 파일로 교체
GDI+와 Memento 패턴 공부를 위해 간단한 그림판 프로그램을 만들어 보았다.
1. GDI+
- PictureBox의 OnPaint 함수에서 Graphics를 이용한 그리기
- OnPaint에서 그리기 위해 MouseEvent에서의 정보 저장
- GDI+에 대한 이해 증가
2. Memento 패턴
- Undo/Redo Service를 만들기 위함
- 이미지 자체를 저장해도 되나, 리소스 낭비가 심함
- IMemento interface를 구현한 class에는 그리기에 필요한 정보만 저장 (Color, Path 등)
- IMemento 리스트를 이용한 Undo/Redo 구현
- IMemento에 정의한 Draw 함수를 통해 실제 그리기시 이용
전체적인 코드 설명과 내용을 올리기에는 내용이 방대하여, Github에 올려두고 링크를 남긴다.
Github 링크 : https://github.com/vip00112/SimplePaint
아래는 간략한 스크린샷.
'C#' 카테고리의 다른 글
C#: UI 프리징을 피하기 위한 Task 사용 방법 (0) | 2020.05.13 |
---|---|
C#: WCF ServiceClient의 IDiaposable 구현 (0) | 2019.04.24 |
C#: Tmap 길찾기 API (2) | 2019.01.13 |
C#: A* (AStar) 길찾기 알고리즘 (2018.04.08 업데이트) (16) | 2017.04.17 |
C#: PNG파일을 이용한 LayerdForm(투명 폼) 생성 DLL (0) | 2016.12.17 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday