WPF 이미지위에 라인 그리기(WPF DrawLine on exist Image)

WPF 기초가 부족해 삽질 한참 하다가 별것 아닌 방법으로 해결했다.

처음엔 Canvas위에 그릴려고 Canvas객체를 가져왔는데 WinForm 처럼 Graphics를 가져올수 없었다. 구글링해보면 제목은 WPF이고 Graphics를 가져와 그걸로 그리는 예제가 있어서 쉽게 끝날줄 알았는데, 한참 헤매었다.

답은 간단하다. 캔버스에서 이미지 다음에 객체를 추가하면 끝난다.(허무했다 ㅠ )

<Canvas Name="myCanvas">

    <Image ImageSource="....."/>

    <Line X1="10" Y1="10" X2="100" Y2="200" />


</Canvas>

동적으로 추가하는  코드도 마찬가지다 

myCanvas.Children.Add( new Line{X1=10,Y1=10,X2=100,Y2=200} );

ViewModel로 바인딩해서 많은 선을 그렸었는데 역시 마찬가지로 이미지다음에 Template을 추가해 바인딩 해놓으면 쉽게 된다.

댓글

이 블로그의 인기 게시물

C#에서 포인터 사용

WPF RichTextBox 와 Document의 바인딩