wpf绘制圆环,实现图片镂空
2017-11-21 22:23
274 查看
一、使用Path构建复杂图形
Path所构建的图形由Data属性来定义,其属性的类型为Geometry(几何类),通过Path可以构建更加复杂的图形。想创建一个圆环,一种做法是使用两个圆形构建,另一种做法就是使用Path,可以直接绘制出圆环。<Window x:Class="Creg.ShieldCutterSystem.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:Creg.ShieldCutterSystem" mc:Ignorable="d" Title="测试" Height="393.174" Width="614.334"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <Canvas> <!--使用两个圆形叠加出圆环,但要受到其所有容器的限制--> <Ellipse Fill="Blue" Height="200" Canvas.Left="50" Canvas.Top="80" Width="200"/> <Ellipse Fill="#FFF9F9F9" Height="120" Canvas.Left="90" Canvas.Top="120" Width="120"/> </Canvas> <Canvas Grid.Column="1"> <Path Fill="Blue"> <Path.Data> <GeometryGroup> <!--Center为圆心的坐标,RadiusX、RadiusY分别为X、Y两轴的半径--> <EllipseGeometry RadiusX="100" RadiusY="100" Center="150,180"/> <EllipseGeometry RadiusX="60" RadiusY="60" Center="150,180"/> </GeometryGroup> </Path.Data> </Path> </Canvas> </Grid> </Window>
运行
由于第一种做法是一种“虚假”的圆环,所以,当给两个圆环所在的Canvas添加背景时,第一种做法的圆环不能出现“镂空”的效果,但第二种可以,为两个Canvas添加如下的背景图片:
<Canvas.Background> <ImageBrush ImageSource="Images/test.jpg"/> </Canvas.Background>
运行
参考https://www.cnblogs.com/DragonInSea/archive/2009/06/16/1504417.html/
相关文章推荐
- IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等
- WPF技术触屏上的应用系列(一): 3D 图片(照片)墙、柱面墙(凹面墙或者叫远景墙、凸面墙或者叫近景墙)实现
- jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
- IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等
- Android View加载圆形图片且同时绘制圆形图片的外部边缘边线及边框:LayerDrawable实现
- WPF-22:WPF实现五角星绘制及评级控件
- [Android] 触屏setOnTouchListener实现图片缩放、移动、绘制和添加水印
- 自定义控件,实现正方形套圆环内套圆形图片
- Wpf图片变换一:通过WPF实现图片的扩大、缩小、翻转、移动实例代码
- Silverlight实现对图片的涂鸦、绘制矩形、圆形、直线、文本,并且能够移动
- WPF 图形绘制 及各种线帽、箭头的实现
- Android View加载圆形图片且同时绘制圆形图片的外部边缘边线及边框:LayerDrawable实现
- IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等
- IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等
- IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等
- Android开发:ImageView上绘制旋转圆环(透明度不同的旋转圆环,利用canvas.drawArc实现)
- 在WPF中实现图片一边下载一边显示
- WPF下实现图片的放大缩小移动
- PHP实现绘制3D扇形统计图及图片缩放实例
- iOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等