2016-12-16 5 views
-1

모든 아이디어 xaml을 사용하여 셰이프를 통해 텍스트를 어떻게 깎을 수 있습니까?xaml에서 셰이프로 잘린 텍스트 만들기

아마도 나는 배경과 같은 두께의 큰 색으로 원 테두리와 텍스트를 겹칠 수 있지만 배경이 단색이 아닌 경우 어떻게해야합니까?

enter image description here

답변

0

것은 내가 선택한 방법은 uiElement.Clip 속성을 사용하고 있습니다 : 여기

내가 원하는 무엇의 예입니다. 직사각형으로 만 클립 할 수 있으므로 여러 번 클립해야합니다.

0도, 30도, 60도 회전 된 3 개의 클리핑 제곱을 결합하고 십이지장의 모서리를 숨기기 위해 얇은 오버레이 원 테두리를 사용했습니다. 누군가가 필요로하는 경우의 코드는 다음과 같습니다.

  <Ellipse x:Name="Ellipse" Fill="#FF8813B4" Height="85" Margin="0" Width="85" StrokeThickness="0" 
       HorizontalAlignment="Center" VerticalAlignment="Center" /> 
     <Grid Width="84" Height="84" HorizontalAlignment="Center"> 
      <Grid> 
       <Grid> 
        <TextBlock x:Name="Label" Text="Tample" FontSize="70" HorizontalAlignment="Left" VerticalAlignment="Center" 
         FontFamily="Open Sans Semibold" Margin="0,2,0,0" Foreground="#7FFFFFFF" FontWeight="Bold"/> 
        <Grid.Clip> 
         <RectangleGeometry Rect="0,0,84,84"> 
          <RectangleGeometry.Transform> 
           <CompositeTransform Rotation="60" CenterX="42" CenterY="42"/> 
          </RectangleGeometry.Transform> 
         </RectangleGeometry> 
        </Grid.Clip> 
       </Grid>     
       <Grid.Clip> 
         <RectangleGeometry Rect="0,0,84,84"> 
          <RectangleGeometry.Transform> 
           <CompositeTransform Rotation="30" CenterX="42" CenterY="42"/> 
          </RectangleGeometry.Transform> 
         </RectangleGeometry> 
        </Grid.Clip> 
       </Grid> 
       <Grid.Clip> 
        <RectangleGeometry Rect="0,0,84,84"> 
         <RectangleGeometry.Transform> 
          <CompositeTransform Rotation="0" CenterX="42" CenterY="42"/> 
         </RectangleGeometry.Transform> 
        </RectangleGeometry> 
       </Grid.Clip> 
      </Grid> 
     <Ellipse Stroke="#FF8813B4" StrokeThickness="2" Width="87" Height="87" HorizontalAlignment="Center" VerticalAlignment="Center"></Ellipse>