public static void FillRoundedRectangle(this ICanvas target, Rectangle rect, double topLeftCornerRadius, double topRightCornerRadius, double bottomLeftCornerRadius, double bottomRightCornerRadius) { var path = new PathF(); path.AppendRoundedRectangle((float)rect.X, (float)rect.Y, (float)rect.Width, (float)rect.Height, (float)topLeftCornerRadius, (float)topRightCornerRadius, (float)bottomLeftCornerRadius, (float)bottomRightCornerRadius); target.FillPath(path); }
void AddBezier(PathF path, BezierSegment bezierSegment) { path.CurveTo( (float)(bezierSegment.Point1.X), (float)(bezierSegment.Point1.Y), (float)(bezierSegment.Point2.X), (float)(bezierSegment.Point2.Y), (float)(bezierSegment.Point3.X), (float)(bezierSegment.Point3.Y)); }
private static void DrawStrokes(ICanvas canvas) { // // DrawXXXX Methods // canvas.DrawLine(0, 0, 100, 100); canvas.Translate(100, 0); canvas.DrawRectangle(0, 0, 100, 100); canvas.Translate(100, 0); canvas.DrawEllipse(0, 0, 100, 100); canvas.Translate(100, 0); canvas.DrawRoundedRectangle(0, 0, 100, 100, 25); var vPath = new PathF(); vPath.MoveTo(0, 0); vPath.LineTo(0, 100); vPath.QuadTo(100, 100, 100, 0); vPath.CurveTo(50, 0, 100, 50, 50, 50); canvas.Translate(100, 0); canvas.DrawPath(vPath); canvas.Translate(100, 0); canvas.DrawRectangle(0, 0, 100, 50); canvas.Translate(100, 0); canvas.DrawEllipse(0, 0, 100, 50); canvas.Translate(100, 0); canvas.DrawRoundedRectangle(0, 0, 100, 50, 25); canvas.Translate(100, 0); canvas.DrawRoundedRectangle(0, 0, 100, 25, 25); }
private void SKElement_PaintSurface(object sender, SkiaSharp.Views.Desktop.SKPaintSurfaceEventArgs e) { ICanvas canvas = new SkiaCanvas() { Canvas = e.Surface.Canvas }; //canvas.FillColor = Colors.Transparent; //canvas.FillColor = Colors.White.WithAlpha(0.9f); //canvas.FillRectangle(0, 0, (float)DrawSurface.ActualWidth, (float)DrawSurface.ActualHeight); //canvas.StrokeColor = Colors.Red.WithAlpha(.5f); canvas.StrokeColor = Colors.Red; canvas.StrokeSize = 2; var path = new PathF(); if (_points.Count > 0) { path.MoveTo(_points[0].X, _points[0].Y); for (int i = 1; i < _points.Count; i++) { path.LineTo(_points[i].X, _points[i].Y); } //path.Close(); canvas.DrawPath(path); } }
/// <include file="../../../docs/Microsoft.Maui.Controls.Shapes/EllipseGeometry.xml" path="//Member[@MemberName='AppendPath']/Docs" /> public override void AppendPath(PathF path) { var radiusX = (float)RadiusX; var radiusY = (float)RadiusY; path.AppendEllipse((float)Center.X - radiusX, (float)Center.Y - radiusY, radiusX * 2f, radiusY * 2f); }
public static void DrawRoundedRectangle(this ICanvas target, float x, float y, float width, float height, float topLeftCornerRadius, float topRightCornerRadius, float bottomLeftCornerRadius, float bottomRightCornerRadius) { var path = new PathF(); path.AppendRoundedRectangle(x, y, width, height, topLeftCornerRadius, topRightCornerRadius, bottomLeftCornerRadius, bottomRightCornerRadius); target.DrawPath(path); }
public override PathF PathForBounds(Microsoft.Maui.Graphics.Rectangle rect) { var path = new PathF(); path.AppendRectangle(rect); return(path); }
public override PathF PathForBounds(Rectangle rect) { var path = new PathF(); path.AppendEllipse(new RectangleF((float)rect.X, (float)rect.Y, (float)rect.Width, (float)rect.Height)); return(path); }
void AddPolyLine(PathF path, PolyLineSegment polyLineSegment) { foreach (var p in polyLineSegment.Points) { path.LineTo((float)p.X, (float)p.Y); } }
public override void Draw(ICanvas canvas) { canvas.SaveState(); canvas.SetShadow( CanvasDefaults.DefaultShadowOffset, CanvasDefaults.DefaultShadowBlur, CanvasDefaults.DefaultShadowColor); canvas.FillColor = Colors.Blue; var path = new PathF(10, 10); path.LineTo(30, 10); path.LineTo(20, 30); path.Close(); canvas.FillPath(path); canvas.FillColor = Colors.Salmon; canvas.FillRectangle(100, 100, 100, 100); canvas.FillColor = Colors.Beige; canvas.FillOval(100, 300, 100, 50); canvas.RestoreState(); }
public override PathF PathForBounds(RectangleF rect) { var path = new PathF(); path.AppendRoundedRectangle(rect, _cornerRadius); return(path); }
public override void Draw(ICanvas canvas) { canvas.SaveState(); canvas.StrokeColor = Colors.Black; canvas.StrokeSize = 10; canvas.Translate(0, -350); // // StrokeLocation.CENTER // canvas.StrokeSize = 10; canvas.DrawRectangle(50, 400, 100, 50); canvas.DrawEllipse(200, 400, 100, 50); canvas.DrawRoundedRectangle(350, 400, 100, 50, 25); var path = new PathF(); path.MoveTo(550, 400); path.LineTo(500, 450); path.LineTo(600, 450); path.Close(); canvas.DrawPath(path); canvas.RestoreState(); }
void AddBezier(PathF path, BezierSegment bezierSegment, double density) { path.CurveTo( (float)(density * bezierSegment.Point1.X), (float)(density * bezierSegment.Point1.Y), (float)(density * bezierSegment.Point2.X), (float)(density * bezierSegment.Point2.Y), (float)(density * bezierSegment.Point3.X), (float)(density * bezierSegment.Point3.Y)); }
public override PathF PathForBounds(RectangleF rect) { var path = new PathF(); path.AppendRectangle(rect); return(path); }
public static void FillRoundedRectangle(this ICanvas target, RectangleF rect, float topLeftCornerRadius, float topRightCornerRadius, float bottomLeftCornerRadius, float bottomRightCornerRadius) { var path = new PathF(); path.AppendRoundedRectangle(rect, topLeftCornerRadius, topRightCornerRadius, bottomLeftCornerRadius, bottomRightCornerRadius); target.FillPath(path); }
PathF IShape.PathForBounds(Graphics.Rectangle bounds) { var path = new PathF(); AppendPath(path); return(path); }
public PathF PathForBounds(Rectangle rect) { var path = new PathF(); path.AppendRoundedRectangle(rect, (float)CornerRadius.TopLeft, (float)CornerRadius.TopRight, (float)CornerRadius.BottomLeft, (float)CornerRadius.BottomRight); return(path); }
public override PathF PathForBounds(Rectangle rect) { var cornerRadius = (float)(Orientation == Orientation.Horizontal ? rect.Height : rect.Width) / 2f; var path = new PathF(); path.AppendRoundedRectangle(rect, cornerRadius); return(path); }
public static PathF AsPathF(this CGPath target) { var path = new PathF(); var converter = new PathConverter(path); target.Apply(converter.ApplyCGPathFunction); return(path); }
public PathF PathForBounds(Rect rect) { var path = new PathF(); path.AppendRoundedRectangle(rect, (float)RadiusY + (float)RadiusX); return(path); }
public RectangleF GetPathBoundsWhenRotated(PointF centerOfRotation, PathF path, float angle) { var nativePath = path.AsRotatedCGPath(centerOfRotation, 1, 1f, angle); var bounds = nativePath.PathBoundingBox; nativePath.Dispose(); return(bounds.AsRectangleF()); }
public PathF PathForBounds(Rect rect) { var path = new PathF(); path.AppendEllipse(0f, 0f, (float)Width, (float)Height); return(path.AsScaledPath((float)Width / (float)rect.Width)); }
public override PathF PathForBounds(Rectangle rect) { var path = new PathF(); var cornerSize = (float)Math.Min(rect.Width, rect.Height) / 2; path.AppendRoundedRectangle(rect, cornerSize); return(path); }
public override PathF GetPath() { var path = new PathF(); Data.AppendPath(path); return(path); }
public PathF PathForBounds(Rect rect) { var path = new PathF(); Data?.AppendToPath(path); return(path.AsScaledPath((float)Width / (float)rect.Width)); }
public static UIBezierPath AsUIBezierPath(this PathF target) { if (target == null) { return(null); } return(UIBezierPath.FromPath(target.AsCGPath())); }
public static CGPath AsCGPath( this PathF target, float scale, float zoom) { var factor = scale * zoom; return(AsCGPath(target, 0, 0, factor, factor)); }
public PathF PathForBounds(Rectangle rect) { var path = new PathF(); path.MoveTo((float)X1, (float)Y1); path.LineTo((float)X2, (float)Y2); return(path.AsScaledPath((float)Width / (float)rect.Width)); }
void AddPolyLine(PathF path, PolyLineSegment polyLineSegment, double density) { foreach (var p in polyLineSegment.Points) { path.LineTo( (float)(density * p.X), (float)(density * p.Y)); } }
public override PathF GetPath() { var path = new PathF(); path.MoveTo((float)X1, (float)Y1); path.LineTo((float)X2, (float)Y2); return(path); }
private void btnDrawText_Click(object sender, EventArgs e) { m_painter.SetSource(Color.Red); using (PathF path = new PathF()) { using (FogNET.Font font = new FogNET.Font("Tahoma", 12)) { path.AddString("Hello Foggy :)", font, new PointF(120, 50)); } m_painter.FillPath(path); } UpdatePictureBox(); }