1
我的XAML中有一个图像元素,我不想指定其尺寸,因为我希望它根据分辨率进行缩放的显示尺寸。如何在不知道XAML尺寸的情况下以圆形方式裁剪图像
我需要在一个圆圈中剪切图像,我怎么能没有明确说明它的尺寸?
我的XAML中有一个图像元素,我不想指定其尺寸,因为我希望它根据分辨率进行缩放的显示尺寸。如何在不知道XAML尺寸的情况下以圆形方式裁剪图像
我需要在一个圆圈中剪切图像,我怎么能没有明确说明它的尺寸?
我解释你的问题,你想做一个圆形图像,填充父容器。使用椭圆形以Stretch="Uniform"
创建一个圆,然后设置Fill
到图像,其被放置在Grid
内部例如它将填补它的父,例如:
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<Ellipse Stretch="Uniform">
<Ellipse.Fill>
<ImageBrush ImageSource="/Assets/avatarpic-l.png" />
</Ellipse.Fill>
</Ellipse>
</Grid>
这将给出以下结果:
还有产生使用OpacityMask
相同的结果的另一种方法(通过改变Offset
参数还可以得到一些很好的褪色效果):
<Image Source="/Assets/avatarpic-l.png">
<Image.OpacityMask>
<RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
<GradientStop Color="#ffffffff" Offset="1.0" />
<GradientStop Color="#00ffffff" Offset="1.0" />
</RadialGradientBrush>
</Image.OpacityMask>
</Image>
如果您设置<Image Source="/Assets/avatarpic-l.png" Stretch="None" >...</Image>
,您可以使用第二种方法来保持其原始尺寸。
[创建圆形图像Xaml]的可能的重复(http://stackoverflow.com/questions/23138878/create-circular-image-xaml) – 2014-12-03 14:31:49