我需要在一个windows手机通用应用程序中创建一个圆形图像。
为了创建这种映像,我使用了以下代码:
<Border CornerRadius="30" Height="60" Width="60">
<Border.Background>
<ImageBrush ImageSource="ms-appx:///Assets/round_image.png" />
</Border.Background>
</Border>但是这段代码对内存有很大的影响,每个图像大约有4Mb。使用此代码来修复问题,但图像不是圆形的。
<Border CornerRadius="30" Height="60" Width="60">
<Image Source="ms-appx:///Assets/round_image.png" Stretch="Fill" />
</Border>我需要显示20张图片,与这两种方法的区别是大约80 is。
这个内存问题有解决办法吗?
发布于 2015-11-18 19:28:17
尝试以下几点:
<Border CornerRadius="30" Height="60" Width="60">
<Border.Background>
<ImageBrush>
<ImageBrush.ImageSource>
<BitmapImage
UriSource="ms-appx:///Assets/round_image.png"
DecodePixelWidth="60"
DecodePixelHeight="60"
DecodePixelType="Logical"/>
</ImageBrush.ImageSource>
</ImageBrush>
</Border.Background>
</Border>问题可能是你的图像太大了。这将解码图像到实际显示大小,这将提高渲染性能,如果原始图像太大。
https://stackoverflow.com/questions/33785595
复制相似问题