4
在Windows電話8.1運行時應用程序我需要使用圓裁剪圖像,以這樣我已經使用這個代碼:OpacityMask對圖像中的窗口電話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