문제

나는있다 Image 그렇게 잘린다 :

<Image Width="45" Grid.Column="0" Source="{Binding Photo}">
    <Image.Clip>
        <RectangleGeometry Rect="0,0,45,55" RadiusX="8" RadiusY="8" />
    </Image.Clip>
</Image>

드롭 그림자 효과를 어떻게 적용 할 수 있습니까?

업데이트:
Ray가 지적한 바와 같이, 가장 좋은 솔루션은 앤더슨이 제안한 것 - 포장 국경을 가진 솔루션입니다. 감사합니다 앤더슨.

도움이 되었습니까?

해결책

이것은 작동해야합니다

<Image Width="45" Grid.Column="0" Source="{Binding Photo}" 
    <Image.Clip>
        <RectangleGeometry Rect="0,0,45,55" RadiusX="8" RadiusY="8" />
    </Image.Clip>
    <Image.Effect>
        <DropShadowEffect Color="Black" BlurRadius="20" />
    </Image.Effect>
</Image>

그래도 클립과 함께 시도하지 않았습니다.

업데이트 : 작동하지 않습니다 (버그처럼 보입니까?)

나는 이것을 할 것이다 :

<Border Grid.Column="0" >
     <Border.Effect>
          <DropShadowEffect />
     </Border.Effect>
    <Image Width="45" Source="{Binding Photo}" 
        <Image.Clip>
            <RectangleGeometry Rect="0,0,45,55" RadiusX="8" RadiusY="8" />
        </Image.Clip>
    </Image>
</Border>

비트 절름발이와 너비를 정확하게 일치시키기 위해 너비의 일부를 조정해야 할 수도 있지만 아이디어를 얻을 수 있습니다.

다른 팁

이것은 당신을 위해 트릭을 할 것입니다 :

<Border>
  <Border.Effect>
    <DropShadowEffect />
  </Border.Effect>
  <Image Stretch="None" Source="{Binding Photo}" >
    <Image.Clip>
      <RectangleGeometry Rect="0,0,45,55" RadiusX="8" RadiusY="8"/>
    </Image.Clip>
  </Image>
</Border>

물론 당신의 독창적 인 아이디어는 랩핑 테두리에 적용되는 DropshadowEffect만으로도 원래 아이디어입니다. 비트 맵 효과가 작동하는 방식으로 인해 포함 된 내용의 눈에 보이는 부분에만 적용됩니다.

대답은 image.clip 대신 cruppedbitmap을 사용해야한다는 것입니다.

<Image Width="45">
    <Image.Source>
        <CroppedBitmap Source="{Binding Photo}" SourceRect="0 0 45 55"/>
    </Image.Source>
    <Image.Effect>
        <DropShadowEffect/>
    </Image.Effect>
</Image>

둥근 모서리가 필요하면 외부 이미지를 테두리로 둘러싸고 이미지 브러시를 사용할 수 있습니다.

<Border Width="45" Height="55" CornerRadius="10" >
    <Border.Background>
        <ImageBrush>
            <ImageBrush.ImageSource>
                <CroppedBitmap Source="profile.jpg" SourceRect="0 0 45 55"/>
            </ImageBrush.ImageSource>
        </ImageBrush>    
    </Border.Background>
</Border>

내가 틀렸다면 저를 바로 잡으십시오. 그렇지 않으면 더 간단하게 할 수 있습니다. 감사!

업데이트 : 분명히 CroppedBitMap의 소스 속성에 바인딩 할 수 없습니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top