首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >system.Drawing.Drawing2d.GraphicsPath

system.Drawing.Drawing2d.GraphicsPath
EN

Stack Overflow用户
提问于 2011-01-19 16:42:19
回答 1查看 1.2K关注 0票数 0

我还有一个支持Silverlight4的c#类库。

问题是,我需要在代码中使用System.Drawing.Drawing2d.GraphicsPath。用于绘制形状。但它在silverlight中并不存在。有没有人能给我推荐一个替代方案?

提前谢谢。

向您致敬,詹姆斯

EN

回答 1

Stack Overflow用户

发布于 2011-01-19 17:38:12

看一看http://www.c-sharpcorner.com/UploadFile/mahesh/PathInSL03252009005946AM/PathInSL.aspx

代码片段XAML:

代码语言:javascript
运行
复制
<Path Stroke="Black" StrokeThickness="4" 
        Data="M 80,200 A 100,50 45 1 0 100,50" />

代码段动态:

代码语言:javascript
运行
复制
public void CreateAPath()

{

    // Create a blue and a black Brush

    SolidColorBrush blueBrush = new SolidColorBrush();

    blueBrush.Color = Colors.Blue;

    SolidColorBrush blackBrush = new SolidColorBrush();

    blackBrush.Color = Colors.Black;



    // Create a Path with black brush and blue fill

    Path bluePath = new Path();

    bluePath.Stroke = blackBrush;

    bluePath.StrokeThickness = 3;

    bluePath.Fill = blueBrush;



    // Create a line geometry

    LineGeometry blackLineGeometry = new LineGeometry();

    blackLineGeometry.StartPoint = new Point(20, 200);

    blackLineGeometry.EndPoint = new Point(300, 200);



    // Create an ellipse geometry

    EllipseGeometry blackEllipseGeometry = new EllipseGeometry();

    blackEllipseGeometry.Center = new Point(80, 150);

    blackEllipseGeometry.RadiusX = 50;

    blackEllipseGeometry.RadiusY = 50;



    // Create a rectangle geometry

    RectangleGeometry blackRectGeometry = new RectangleGeometry();

    Rect rct = new Rect();

    rct.X = 80;

    rct.Y = 167;

    rct.Width = 150;

    rct.Height = 30;

    blackRectGeometry.Rect = rct;



    // Add all the geometries to a GeometryGroup.

    GeometryGroup blueGeometryGroup = new GeometryGroup();

    blueGeometryGroup.Children.Add(blackLineGeometry);

    blueGeometryGroup.Children.Add(blackEllipseGeometry);

    blueGeometryGroup.Children.Add(blackRectGeometry);



    // Set Path.Data

    bluePath.Data = blueGeometryGroup;



    LayoutRoot.Children.Add(bluePath);

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4733251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档