WPF 에서 도형 은 문법 에 대한 상세 한 설명 을 나타 낸다(Path 의 Data 속성 문법)

21517 단어 Path
화면 효과 먼저 보기:
  WPF中图形表示语法详解(Path之Data属性语法)
(그림 1) 


부호 A

   
     
1 < Page xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml" >
2
3 < Canvas >
4
5
6
7   <!-- PathFigureCollection -->
8
9   < Path Stroke ="Black" StrokeThickness ="1" Fill ="#CCCCFF" >
10
11 < Path .Data >
12
13 < PathGeometry Figures ="M 10,100 C 10,300 300,-160 300,100" />
14
15 </ Path.Data >
16
17   </ Path >
18
19
20
21   <!-- StreamGeometry -->
22
23   < Path Stroke ="Black" Data ="M 100,240 C 510,300 80,100 300,160 H40 v80" />
24
25   </ Canvas >
26
27   </ Page >
28
29  

 
 
 위 에 굵 고 빨간색 문자 부분 을 유의 하 세 요.
 
WPF 는 경로 데 이 터 를 설명 하 는 두 가지 종 류 를 제공 합 니 다.하 나 는 StreamGeometry 이 고 다른 하 나 는 PathFigure Collection 입 니 다.
 
유사:의 형식 은 StreamGeometry 의 XAML 코드 표시 형식 이자 가장 간결 한 표현 형식 이다.
유사:
 

  
    
1 < Path Stroke ="Black" StrokeThickness ="1" Fill ="#CCCCFF" >
2
3 < Path .Data >
4
5 < PathGeometry Figures ="M 10,100 C 10,300 300,-160 300,100" />
6
7 </ Path.Data >
8
9 </ Path >
10
11

 
 
이런 방식 은 PathFigure Collection 의 XAML 코드 표시 방식 을 사용한다.
 
이 두 가지 방식 은 모두 같은 디 스 플레이 효과 에 도달 할 수 있다.그렇다면 언제 StreamGeometry 를 사용 하고 언제 PathFigure Collection 방식 을 사용 합 니까?
일반적으로 경 로 를 만 든 후에 수정 이 필요 하지 않 을 때 StreamGeometry 방식 을 사용 할 수 있 습 니 다.경로 수 치 를 수정 해 야 할 경우 PathFigure Collection 방식(여기 가 PathGeometry)을 사용 합 니 다.
 
Data 속성의 표현 문법:
(1)StreamGeometry 방식:[충전 규칙]외형 설명[외형 설명]*
(2)PathFigure Collection 방식:외형 설명[외형 설명]*
 
주:
(1)상기 문법 에서[...]는 선택 할 수 있 음 을 나타 내 고*는 임 의 개 를 나타 낸다.
(2)'충전 규칙'에는 Evenodd 와 Nonzero 두 가지 가 있다.XAML 에 서 는 간결 함 을 위해'F0'을 사용 하여 Evenodd 를 표시 하고'F1'은 Nonzero 를 표시 합 니 다.
(3)"외형 설명"의 문법:movecond drawCommands[closeCommand]
그 중:이동 명령(movecond),명령(drawCommands),명령 닫 기(closeCommand).
(4)movecond 는 시작 점 을 지정 합 니 다.drawingCommand 로 외형 윤곽 을 설명 하 는 내용 설명 을 사용 합 니 다.closeCommand 는 경 로 를 닫 습 니 다.
 
다음 그림:
  WPF中图形表示语法详解(Path之Data属性语法)  
(그림 2)
 
다음은'M 100,240 C510,300 80,100 300,160 H40 v80'이라는 문자열 의 의 미 를 설명 한다.
네 가지 상황 으로 나 누 어 설명 한다.
1.이동 명령:Move Command(M):M 시작 점  시작 점
예 를 들 어 M 100,240 또는 m 100,240
대문자 M 을 사용 할 때 절대 값 을 표시 합 니 다.소문 자 m 사용 시;앞의 값 에 비해 앞 점 이 지정 되 지 않 으 면 사용 합 니 다(0,0).
 
2.명령 을 그립 니 다(Draw Command):
우 리 는 다음 모양 을 그 릴 수 있다.
(1)직선:Line(L)
(2)수평 직선:수평선(H)
(3)수직 직선:수직 선(V)
(4)3 차 방정식 베 어 셀 곡선:Cubic Bezier curve(C)
(5)이차 방정식 베 어 셀 곡선:Quadratic Bezier curve(Q)
(6)부 드 러 운 3 차 방정식 베 어 셀 곡선:Smooth cubic Bezier curve(S)
(7)부 드 러 운 이차 방정식 베 세 르 곡선:부 드 러 운 quadratic Bezier 곡선(T)
(8)타원 원호:타원 아크(A)
 
위의 모든 모양 을 괄호 로 묶 은 영문 자 모 는 명령 약자 의 대문자 형식 이지 만 소문 자 를 사용 할 수도 있다.대문자 와 소문 자 를 사용 하 는 차 이 는 대문자 가 절대 치 이 고 소문 자 는 상대 값 이다.
 
예 를 들 어 L 100,200 L 300,400 은 절대 좌표 점(100,200)에서 다른 절대 좌표 점(300,400)까지 의 직선 을 나타 낸다.한편,l 100,200 l 300,400 은 상대 적 으로 위의 점(지정 되 지 않 으 면 기본 값(0,0)좌표 점)에서 계산 하기 시작 한 좌표 점(100,200)에서 좌표 점(300,400)까지 의 직선 을 나타 낸다.
 
우리 가 같은 유형 을 반복 해서 사용 할 때 앞의 명령 을 생략 할 수 있다.예 를 들 어 L 100,200 L 300,400 은 L 100,200 300,400 이 라 고 약칭 한다.
 
아래 그림 은 아래 XAML 코드 의 그리 기 효과 입 니 다.
XAML(코드 B):

  WPF中图形表示语法详解(Path之Data属性语法)
(그림 3)
 
세심 한 독자 들 은 약간 이상 한 느낌 을 발견 할 수 있 습 니 다.왜냐하면 제 가 일부러 아래 삼각형 의 코드 를 앞 에 두 었 기 때 문 입 니 다.그러면 습관 에 맞지 않 는 것 같 습 니 다.사실 위의 코드 는 이 결과 와 완전히 같다.

여기에 당신 이 잠시 보지 못 한 Z 명령 이 있 습 니 다.그것 은 바로 닫 기 명령(close Command)입 니 다.지정 한 모양 을 닫 고 첫 번 째 끝 점 을 연결 하여 폐쇄 된 구역 을 만 들 겠 다 는 뜻 입 니 다.
 
명령 형식 문법 그리 기:
 
(1)직선:Line(L)
형식:L 끝 점 좌표 또는 l 끝 점 좌표.
예 를 들 어 L 100,100 또는 l 100.좌표 값 은 x,y(중간 에 영문 쉼표 로 구분)또는 x y(중간 에 반 각 빈 칸 으로 구분)형식 을 사용 할 수 있 습 니 다.
 
(2)수평 직선  Horizontal line(H):현재 점 에서 지정 한 x 좌표 까지 의 직선 을 그립 니 다.
형식:H x 값 또는 h x 값(x 는 System.Double 형식의 값)
예 를 들 어 H 100 또는 h 100 은 H 100.00 또는 h 100.00 등 형식 일 수도 있다.
 
(3)수직 직선 Vertical line(V):현재 점 에서 Y 좌 표를 지정 하 는 직선 을 그립 니 다.
형식:V y 값 또는 v y 값(y 는 System.Double 형식의 값)
예 를 들 어 V 100 또는 y 100 은 V 100.00 또는 v 100.00 등 형식 일 수도 있다.
 
(4)3 차 방정식 베 어 셀 곡선 Cubic Bezier curve(C):현재 점 에서 지정 한 끝 점 사이 의 3 차 방정식 베 어 셀 곡선 을 지정 합 니 다.
형식:C 제1 제어점 제2 제어점 끝 점 또는 c 제1 제어점 제2 제어점 끝 점
예 를 들 어 C 100,200 200,400 300,200 또는 c 100,200 200,400 300,200
그 중에서 점(100,200)은 첫 번 째 통제 점 이 고 점(200,400)은 두 번 째 통제 점 이 며 점(300,200)은 끝 점 이다.
 
(5)2 차 방정식 베 어 셀 곡선 Quadratic Bezier curve(Q):지정 한 제어점 을 통 해 현재 점 에서 지정 한 끝 점 사이 의 2 차 방정식 베 어 셀 곡선 을 그립 니 다.
형식:Q 제어점 끝 점 또는 q 제어점 끝 점
예컨대:q 100,200 300,200.그 중에서 점(100,200)은 제어점 이 고 점(300,200)은 끝 점 이다.
 
(6)부 드 러 운 3 차 방정식 베 어 셀 곡선:Smooth cubic Bezier curve(S):지정 한 점 을 통 해 현재 점 에서 지정 한 점 까지 의 베 어 셀 곡선 을 부 드 럽 게 제어 합 니 다.
형식:S 제어점 끝 점 또는 s 제어점 끝 점
예 를 들 면 S 100,200 200,300
 
(7)부 드 러 운 2 차 방정식 베 어 셀 곡선 smooth quadratic Bezier curve(T):부 드 러 운 3 차 방정식 베 어 셀 곡선 과 유사 합 니 다.
형식:T 제어점 끝 점 또는 t 제어점 끝 점
예 를 들 면 T 100,200 200,300
 
제(6)종 평활 3 차 방정식 베 세 르 곡선 과 제(7)종 평활 2 차 방정식 베 세 르 곡선 에 대한 비교:
 
다음 그림:
  WPF中图形表示语法详解(Path之Data属性语法)
XAML 코드:
 


XAML 코드

   
     
1 <!-- -->
2
3 < Path Stroke ="Black" StrokeThickness ="1" Data ="M 150,10 S 250,100 80,280" />
4
5
6
7 <!-- -->
8
9 < Path Stroke ="Black" StrokeThickness ="1" Data ="M 150,10 L 250,100 80,280" />
10
11
12
13 <!-- -->
14
15 < Path Stroke ="Red" StrokeThickness ="2" StrokeDashArray ="1,1,1" Data ="M 150,10 T 250,100 80,280" />
16
17

 
 
비고:편리 한 비 교 를 위해 저 는 같은 제어점 을 사 용 했 습 니 다.좌 표 는 모두:(250,100)이 고 시작 과 끝 점도 같 습 니 다.또한,나 는 점선(Stroke DashArray 속성 사용)과 서로 다른 색 으로 구분 했다.
 
(8)타원 원호:elliptical Arc(A):현재 점 과 지정 한 끝 점 사이 에 원 호 를 그립 니 다.
A 사이즈 원호 회전 각도 값 우위 호의 표지 양음 각도 표지 끝 점
또는:
a 사이즈 원호 회전 각도 값 우위 호의 표지 양음 각도 표지 끝 점
크기(Size):System.Windows.size 형식 으로 타원 원호 X,Y 방향의 반지름 값 을 지정 합 니 다.
회전 각도(rotationAngle):System.Double 형식 입 니 다.
원호 회전 각도 값(rotationAngle):타원 호의 회전 각도 값.
우세 호의 태그(is Large ArcFlag):우세 호 인지,호의 각도 가 180 도 이상 이면 1 로 설정 하고 그렇지 않 으 면 0 으로 설정 합 니 다.
양음 각도 표시(sweepDirectionFlag):정각 방향 으로 그 릴 때 1 로 설정 합 니 다.그렇지 않 으 면 0 입 니 다.
끝 점(endPoint):System.Windows.Point 형식 입 니 다.
 
3.닫 기 명령(close command):도형 의 첫 번 째,끝 점 을 직선 으로 연결 하여 폐쇄 된 구역 을 형성한다.
Z 또는 z 로 표시 하 다.
 
[원문 주소]http://blog.csdn.net/johnsuna/archive/2007/11/14/1885597.aspx

좋은 웹페이지 즐겨찾기