只显示图片列表的简单应用。图像列表必须保持纵横比,但是全窗口宽度+一点边距。困难的部分是使图像另外有圆角。
想法?
我只有成功使用ImageBrush,但使用它的任何控件都不能保持纵横比。例如,您必须在此处设置高度和宽度。
<Rectangle RadiusX="10" RadiusY="10" Stretch="Fill" Width="100" Height="100" >
<Rectangle.Fill>
<ImageBrush ImageSource="{Binding}"></ImageBrush>
</Rectangle.Fill>
</Rectangle>
答案 0 :(得分:0)
我的图像(在我的UWP应用程序中)通过使用ImageBrush获得了很好的圆角,但是如果你以编程方式执行此操作时要小心 - 我第一次设法使用我的内存相当差并且消耗太多(差编码)。
我正在使用ImageBrush,就像你看起来那样,但我没有得到任何宽高比的失真;确保您正确设置Stretch等属性 - 例如Stretch.UniformToFill
。
<Rectangle x:Name="rctCardFace" Margin="0" RadiusX="20" RadiusY="20" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Rectangle.Fill>
<ImageBrush Stretch="UniformToFill"/>
</Rectangle.Fill>
</Rectangle>
或者在C#中
Uri path = new Uri(_ActiveStyle.BackgroundImagePath, UriKind.Absolute);
BitmapImage bitmapImage = new BitmapImage(path);
if (_AppReference.CardManager.TempImgBrush == null)
{
_AppReference.CardManager.TempImgBrush = new ImageBrush();
}
_AppReference.CardManager.TempImgBrush.ImageSource = bitmapImage;
_AppReference.CardManager.TempImgBrush.Stretch = _ActiveStyle.BackgroundImageStretch;
_AppReference.CardManager.TempImgBrush.AlignmentX = _ActiveStyle.BackgroundImageAlignX;
_AppReference.CardManager.TempImgBrush.AlignmentY = _ActiveStyle.BackgroundImageAlignY;
cfPreview.ImgB = _AppReference.CardManager.TempImgBrush;
答案 1 :(得分:0)
您好,您可以使用以下代码在UWP中创建圆角图像:
<Ellipse Width="250" Height="250">
<Ellipse.Fill>
<ImageBrush ImageSource="ms-appx:///highfive.jpg" />
</Ellipse.Fill>
</Ellipse>