В Windows Phone 8.1 во время выполнения приложения, мне нужно, чтобы обрезать изображение, используя круг, чтобы сделать это я использовал этот код:OpacityMask на изображения в Windows Phone 8.1
<Ellipse x:Name="ellipse" Stroke="White" StrokeThickness="1" StrokeDashArray="3,3" Height="300" Width="300" Canvas.ZIndex="1" VerticalAlignment="Center" HorizontalAlignment="Center" >
<Ellipse.Fill>
<ImageBrush Stretch="UniformToFill" ImageSource="{Binding Source, ElementName=image}"/>
</Ellipse.Fill>
</Ellipse>
<Grid Background="Black" >
<Image x:Name="image" Source="ms-appx:///Assets/avatar.png" VerticalAlignment="Center" Stretch="UniformToFill" HorizontalAlignment="Center" Height="300" Opacity="0.5" />
</Grid>
это результат:
для визуализации эллипс я использую этот код:
var bitmap = new RenderTargetBitmap();
await bitmap.RenderAsync(ellipse);
Я должен позволить пользователю перевести и увеличить изображение, как я могу манипулировать этими двумя изображениями так, чтобы они выглядели одним изображением?
Это очень хорошее решение, и ваш единственный вариант без использования Direct2D. –
Спасибо, я думаю о попытке с Direct2D для получения некоторой производительности, но xaml выглядит быстро, поэтому, возможно, я могу продолжать использовать подход xaml – frenk91