안녕하세요 마블랑입니다.
이번 포스팅은 간단하게 C# 프로세스에서 Canvas 위에 도형을 그려보려고 합니다.
C#이라고 해도 WPF 에서 실습을 했기 때문에 윈폼에서는 동작할지 잘 모르겠군요
윈폼에서 코드가 실행이 안된다고 하면 다른 윈폼 소스를 찾아봐야할거 같습니다.
도형 그리기는 윈도우 프로세스에서 기본적인 것이라 방법이 달라도 도형그리는 법은 있으니까요
C# 에서도 도형을 그리는 법이 다양한데요
지금은 도형객체를 생성한 뒤에 캔버스에 추가하는 방법으로 진행해보려고 합니다.
먼저 사각형을 추가하는 법에 대해서 알아보겠습니다.
Rectangle rect = new Rectangle(); //사각형 객체 생성
rect.Width = 150; //사각형 넓이 지정
rect.Height = 150; //사각형 높이 지정
rect.Stroke = new SolidColorBrush(Color.FromRgb(0, 150, 0)); // 테두리 색상지정
rect.StrokeThickness =4; //테두리 두께 지정
rect.Fill = new SolidColorBrush(Color.FromRgb(255, 255, 100)); //사각형 색상지정
DrawCanvas.Children.Add(rect); //캔버스에 사각형 객체를 추가한다.
Canvas.SetLeft(rect, 200); //캔버스내의 사각형위치를 조정한다.
Canvas.SetTop(rect, 200);
Rectangle 클래스로 사각형 객체를 생성한 뒤에 캔버스에 추가해주었습니다.
사각형 객체에는 위치가 나오지 않아 캔버스에 추가한뒤에 캔버스에서 위치를 바꿔주었습니다~
다음은 원을 한번 그려보도록 하겠습니다.
Ellipse ell = new Ellipse();
ell.Width = 100;
ell.Height = 100;
ell.Fill = new SolidColorBrush(Color.FromRgb(0, 0, 100));
DrawCanvas.Children.Add(ell);
Canvas.SetLeft(ell, 100);
Canvas.SetTop(ell, 200);
사각형을 그릴때와 동일한 방법인데요 이번 원에는 테두리를 지정해주지 않았습니다.
테두리는 설정을 하지 않으면 자동으로 사라지니 참고하시기 바랍니다.
이렇게 도형을 추가하는 원리로 버튼이나 텍스트박스 같은 다른 컨트롤들도 동적으로 캔버스에 추가할수 있습니다~
버튼같은경우네는 클릭이벤트를 따로 추가를 해주긴 해야합니다.
이상 마블랑이었습니다.
읽어주어서 고맙습니다.
'개발 이야기 > C# 이야기' 카테고리의 다른 글
C# 배열복사 에러 예외 ArrayTypeMismatchException (0) | 2023.01.07 |
---|---|
C# 형변환 캐스팅 모음 정리 (0) | 2021.01.17 |
C# 폴더 파일 읽기 윈도우탐색기 만들기 (0) | 2020.12.23 |
C# List<> Find검색 (0) | 2020.11.24 |
C# WebBrowser NavigateToString 한글 (0) | 2020.11.11 |
댓글