• Graphics and Animation in iOS


     using System;
    using UIKit;
    using CoreGraphics;
    using Foundation;

    namespace GraphicsAnimation
    {
    public class TriangleView : UIView
    {
    CGPath path;
    public TriangleView ()
    {
    BackgroundColor = UIColor.White;
    }
    public override void Draw(CGRect rect)
    {
    base.Draw (rect);
    using(var g=UIGraphics.GetCurrentContext()){
    //set up drawing attributes
    g.SetLineWidth(10);
    UIColor.Blue.SetFill ();
    //UIColor.Purple.SetFill ();
    //UIColor.Black.SetStroke ();
    UIColor.Red.SetStroke();
    //create geometry
    path = new CGPath ();
    path.AddLines (new CGPoint[]{new CGPoint(100,200),new CGPoint(160,100),new CGPoint(220,200)});
    path.CloseSubpath();

    //use a dashed line
    g.SetLineDash(0, new nfloat[]{10,4});
    //add geometry to graphics context and draw it
    g.AddPath(path);

    g.DrawPath(CGPathDrawingMode.FillStroke);
    // add the path back to the graphics context so that it is the current path
    g.AddPath (path);
    // set the current path to be the clipping path
    g.Clip ();
    using (CGColorSpace rgb = CGColorSpace.CreateDeviceRGB()) {
    CGGradient gradient = new CGGradient (rgb, new CGColor[] {
    UIColor.Blue.CGColor,
    UIColor.Yellow.CGColor
    });

    // draw a linear gradient
    g.DrawLinearGradient (
    gradient, 
    new CGPoint (path.BoundingBox.Left, path.BoundingBox.Top), 
    new CGPoint (path.BoundingBox.Right, path.BoundingBox.Bottom), 
    CGGradientDrawingOptions.DrawsBeforeStartLocation);
    }

    }
    }
    }
    }
    ——————————————————————————————
     #region View lifecycle

    public override void ViewDidLoad ()
    {
    base.ViewDidLoad ();

    // Perform any additional setup after loading the view, typically from a nib.
    TriangleView   triangleView=new TriangleView{Frame=UIScreen.MainScreen.Bounds};
    View.AddSubview (triangleView);
    }
    运行结果
     
     
  • 相关阅读:
    斐波那契数列
    进制转换
    求最大公约数伪代码
    2020-2021-1 20201315 《信息安全专业导论》第5周学习总结
    XOR加密
    pep9线下作业
    2020-2021-1 20201226 《信息安全专业导论》第四周学习总结
    内网与外网
    打开word文档时,出现office更新,并且更新报错
    由于找不到mfc100u.dll,无法继续执行代码
  • 原文地址:https://www.cnblogs.com/bubugao/p/4483111.html
Copyright © 2020-2023  润新知