加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在Windows Phone中以圆形显示图像

发布时间:2020-12-15 19:46:41 所属栏目:百科 来源:网络整理
导读:我正在创建一个WP(7.1 8)应用程序,它要求我在圆圈内显示图像(如在Google中). 我找到了一个使用GradientBrush通过以下代码完成任务的解决方案: – BitmapImage bitmapImage = new BitmapImage();bitmapImage.UriSource = new Uri("http://url-of-the-image",
我正在创建一个WP(7.1 8)应用程序,它要求我在圆圈内显示图像(如在Google中).
我找到了一个使用GradientBrush通过以下代码完成任务的解决方案: –

BitmapImage bitmapImage = new BitmapImage();
bitmapImage.UriSource = new Uri("http://url-of-the-image",UriKind.Absolute);
image.CacheMode = new BitmapCache();
image.Source = bitmapImage;
image.Stretch = Stretch.UniformToFill;
image.VerticalAlignment = System.Windows.VerticalAlignment.Center;

//Setting up the mask
RadialGradientBrush opacityMask = new RadialGradientBrush();
GradientStop gs1 = new GradientStop();
GradientStop gs2 = new GradientStop();
GradientStop gs3 = new GradientStop();
gs1.Color = Color.FromArgb(255,0);
gs1.Offset = 0.0;
gs2.Color = Color.FromArgb(255,0);
gs2.Offset = 0.999;
gs3.Color = Color.FromArgb(0,0);
gs3.Offset = 1.0;
opacityMask.GradientStops.Add(gs1);
opacityMask.GradientStops.Add(gs2);
opacityMask.GradientStops.Add(gs3);
image.OpacityMask = opacityMask;

我想知道如果我需要在大量图像上执行此操作会对性能产生什么影响,比如50.

解决方法

使用剪切显示控件的部分区域.

<Image Source="YouImage.jpg">
    <Image.Clip>
        <EllipseGeometry Center="50,50" RadiusX="50" RadiusY="50" />
    </Image.Clip>
</Image>

更改中心,RadiusX和RadiusY以方便您.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读