最近掌上英雄联盟更新了新的界面,其中“我”界面的更新比较大,我目前还在加紧跟进。在做这个界面的时候,这个头像我想了一下,其实挺好解决的。先上个原图

这个头像一开始我也完全找不到头绪,然后我把头像放大了一下,其实这个头像是用一个园减去一个三角形做出来的,本来我想用路径语法直接画出这样一个图形出来,但是好像有点难,不过我们用VS编程的有一个特殊的工具,Blend for vs。这里可以先画出图形然后自动生产Path。下面介绍一下详细操作。

我们打开blend,先在界面上画一个圆,我个人比较喜欢用代码控制

<Ellipse Width="100" Height="100" Fill="Green"/>

  

然后画这样一个图形

 <Polygon Points="0,0 0,10 7,17 14,10 14,0" Fill="Red"/>

为什么画这个图形呢,因为要把圆的上面一部分全部遮掉啊!

好了,不多说,我们把两个图形叠到一起。

<Polygon Points="0,0 0,10 7,17 14,10 14,0" Fill="Red">
<Polygon.RenderTransform>
<TranslateTransform X="" Y=""/>
</Polygon.RenderTransform>
</Polygon>

像这样,给三角形平移一下,我这里没有去严格对齐了,控制代码可以严格对齐

最后的操作到了

相减完后,软件会自动给我们生成Path路径

像这样的

     <Path Data="M43,0 L43,0.509874 L50,7.50987 L57,0.509874 L57,0 L57.6145,0.085987 C81.6148,3.75316 100,24.4845 100,49.5099 C100,77.1241 77.6142,99.5099 50,99.5099 C22.3858,99.5099 1E-06,77.1241 0,49.5099 C1E-06,24.4845 18.3852,3.75316 42.3855,0.085987 z" Fill="Green" />

到这里差不多就完结了,最后只需要给Path的Fill设置成ImageBrush就行了

看我的

<Button HorizontalAlignment="Center">
<Button.Template>
<ControlTemplate>
<Grid>
<Image Height="" Source="ms-appx:///Resources2/game_header_frame.png"/>
<Path Data="M53,0 L53.9368,0.203946 C73.4514,4.7087 88,22.194 88,43.0772 C88,67.3778 68.3005,87.0772 44,87.0772 C19.6995,87.0772 0,67.3778 0,43.0772 C0,22.9534 13.5097,5.98485 31.9545,0.746407 L33,0.463481 L33,0.577242 L43,10.5772 L53,0.577242 z">
<Path.RenderTransform>
<TranslateTransform X="6.5" Y=""/>
</Path.RenderTransform>
<Path.Fill>
<ImageBrush ImageSource="ms-appx:///Resources/headimages/profileIcon1234.jpg"/>
<!--想要更换图片只需要用TemplateBinding绑定到一个自定义附加属性就可以了-->
</Path.Fill>
</Path>
</Grid>
</ControlTemplate>
</Button.Template>
</Button>

最后上个效果图

最后的最后,打广告啦

gayhub:https://github.com/hei12138/MyLOL

有任何问题请联系1329698854@qq.com

同时欢迎一起交流

uwp如何建立任何形状的头像,如圆形,方形,六边形等的更多相关文章

  1. iOS常见用户头像的圆形图片裁剪常见的几种方法

    在开发中,基本上APP的用户头像的处理都需要把用户所上传的方形图片,处理为圆形图片.在这里就总结三种常见的处理圆形图片的方法. 1.使用位图上下文 2.使用UIView的layer进行处理 3.使用r ...

  2. 设置border属性变化不同形状:三角形、圆形、弧形 2017-03-20

    一.通过设置边框----正方形.三角形 <style> .c{ height: 0px; width: 0px; border-top: 50px solid red; border-ri ...

  3. Picasso通过URL获取--用户头像的圆形显示

    1.设置布局属性: <ImageView android:scaleType="fitXY"/> 2.BitmapUtils类-- 得到指定圆形的Bitmap对象 pu ...

  4. UWP Button添加圆角阴影(一)

    原文:UWP Button添加圆角阴影(一) 众所周知,17763之前的UWP控件,大部分是没有圆角属性的:而阴影也只有17763中的ThemeShadow可以直接在xaml中使用,之前的版本只能用D ...

  5. C# 在PPT中绘制形状(shape)

    概述 本篇文章将介绍C# 在PPT幻灯片中操作形状(shape)的方法.这里主要涉及常规形状,如箭头.矩形.圆形.三角形.多边形.不规则形状等.下面的示例中,可以通过绘制形状,并设置相应格式等.示例包 ...

  6. [翻译]Orchard如何工作

    Orchard一直是博主心中神一般的存在,由于水平比较菜,Orchard代码又比较复杂看了几次都不了了之了.这次下定决心要搞懂其工作原理,争取可以在自己的项目中有所应用.为了入门先到官网去学习一下相关 ...

  7. 网络分析之networkx(转载)

    图的类型 Graph类是无向图的基类,无向图能有自己的属性或参数,不包含重边,允许有回路,节点可以是任何hash的python对象,节点和边可以保存key/value属性对.该类的构造函数为Graph ...

  8. iOS开发——项目篇—高仿百思不得姐

    01 一.包装为导航控制器 UINavigationController *nav = [[UINavigationController alloc] initWithRootViewControll ...

  9. iOS 不规则的ImageView

    http://blog.csdn.net/kevinpake/article/details/41205715 我们在做iOS开发的时候,往往需要实现不规则形状的头像,如: 那如何去实现? 通常图片都 ...

随机推荐

  1. DFS序+线段树+bitset CF 620E New Year Tree(圣诞树)

    题目链接 题意: 一棵以1为根的树,树上每个节点有颜色标记(<=60),有两种操作: 1. 可以把某个节点的子树的节点(包括本身)都改成某种颜色 2. 查询某个节点的子树上(包括本身)有多少个不 ...

  2. MySQL学习笔记02_数据库和表的基本操作

    02_1 操作数据库 (1)创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification[, create_specifica ...

  3. iOS笔记———数据存储

    应用沙盒:应用文件系统的根目录,每个应用都有独自的沙盒相互:在xcode中可以用NSHomeDirectory()函数,打印当前应用的沙盒根路径. 应用程序包:包含了所有资源文件和执行文件; * Do ...

  4. 【BZOJ】4245: [ONTAK2015]OR-XOR

    题意 给定一个长度为\(n(1 \le n \le 500000)\)的序列\(a_i(0 \le a_i \le 10^{18})\),将它划分为\(m(1 \le m \le n)\)段连续的区间 ...

  5. Shader实例:扭曲,漩涡

    效果: 案例:新仙剑,王者之剑. 在切换场景的时候,就会有这样的全屏扭曲效果. 思路: 1.用GrabPass抓屏到一张纹理中. 2.进行扭曲,绘制到UGUI的Image上. 准备: 去官网下载Uni ...

  6. Asp.net 配置web.Config 在出错时跳转到相应页面

    <!--<customErrors mode="On" defaultRedirect="error.aspx">      <erro ...

  7. 基于java平台的常用资源整理

    这里整理了基于java平台的常用资源 翻译 from :akullpp | awesome-java 大家一起学习,共同进步. 如果大家觉得有用,就mark一下,赞一下,或评论一下,让更多的人知道.t ...

  8. 多线程、委托、Invoke解决winform界面卡死的问题,并带开关

    一.知识点介绍 1,更新控件的内容,应该调用控件的Invoke方法. Invoke指: 在拥有控件的基础窗口句柄的线程上,用指定的参数列表执行指定委托.该方法接收一个委托类型和委托的参数,因此需要定义 ...

  9. Myeclipse 不能保存汉字

    window-->首选项-->content type-->Text-->Default encoding改为UTF-8,点击update

  10. STM32之DMA+ADC

    借用小甲鱼的经典:各位互联网的广大网友们.大家早上中午晚上好..(打下小广告,因为小甲鱼的视频真的很不错).每次看小甲鱼的视频自学都是比较轻松愉快的..我在想,如果小甲鱼出STM32的视频,我会一集不 ...