2014-12-28 5 views
0

WPF 프로젝트가 있습니다. StackPanel과 두 개의 Image 요소가 있습니다. 나는 (Intelligence Scissors 알고리즘으로) 첫 번째 이미지를 자르고 두 번째 이미지 위에 오버레이하고 싶다. 어떻게해야합니까? 모든 픽셀의 알파 채널을 변경하려고했지만 작동하지 않았습니다. 불가능한 것처럼 보입니다. 이것에 대해투명한 픽셀

+2

'StackPanel' 당신이이 개 이미지를 오버레이하려면 최선의 선택을 같은 소리하지 않습니다 -'Canvas'instead을 시도하고 나는 그것이 작동합니다 확실하지 오전 Z- 색인 속성 – geedubb

+0

을 설정합니다. 첫 번째 이미지의 일부만 필요합니다. 그래서, 나는 그것이 픽셀 설정에 의존해야한다고 생각합니다. – user3051029

+0

시도한 코드를 추가 할 수 있다면 우리는 더 많은 것을 도울 수 있습니다 ... – geedubb

답변

0

경로를 제외하고는 다음과 같을 수 있습니다. s 모든 점을 연결하면 데이터가 throw 코드를 설정해야합니다.

<Grid> 
    <Grid.Resources> 
     <Geometry x:Key="pathToCropImageBy">M 32.5,0.499977L 192.5,0.499977L 192.5,160.5L 160.5,128.5L 160.5,32.5L 64.5,32.5L 32.5,0.499977 Z M 0.5,64.5001L 128.5,64.5L 128.5,192.5L 96.5,160.5L 96.5,96.5001L 32.5,96.5001L 0.5,64.5001 Z </Geometry> 

    </Grid.Resources> 


    <Image Source="man1-48.png"> 
     <Image.OpacityMask> 
      <DrawingBrush Stretch="Uniform"> 
       <DrawingBrush.Drawing> 
        <DrawingGroup> 
         <DrawingGroup.Children> 
          <GeometryDrawing Brush="White" Geometry="{StaticResource pathToCropImageBy}">         
          </GeometryDrawing> 
         </DrawingGroup.Children> 
        </DrawingGroup> 
       </DrawingBrush.Drawing> 
      </DrawingBrush> 
     </Image.OpacityMask> 
    </Image>        
</Grid> 
0

무엇 :

<StackPanel> 
    <Grid> 
     <Image ... your first pic /> 
     <Image Opacity="0.5" ... your second pic /> 
    </Grid> 
</StackPanel> 

Grid는 서로의 요소를 오버레이하는 데 도움이됩니다. Opacity 두 번째 그림의 불투명도를 제어하여 첫 번째 그림과 혼합 할 수 있습니다.