public void Draw( ScanlineRasToDestBitmapRenderer sclineRasToBmp, ScanlineRasterizer ras, Scanline sl, IImageReaderWriter destImage, ColorRGBA color, double x, double y) { ras.Reset(); ras.MoveTo(x * m_size, y * m_size); ras.LineTo(x * m_size + m_size, y * m_size); ras.LineTo(x * m_size + m_size, y * m_size + m_size); ras.LineTo(x * m_size, y * m_size + m_size); sclineRasToBmp.RenderWithColor(destImage, ras, sl, color); }
public static void RenderSolidAllPaths(this ScanlineRasToDestBitmapRenderer sclineRasToBmp, IImageReaderWriter destImage, ScanlineRasterizer sclineRas, Scanline scline, VertexStore vxs, Drawing.Color[] colors, int[] path_id, int num_paths) { for (int i = 0; i < num_paths; ++i) { sclineRas.Reset(); sclineRas.AddPath(new VertexStoreSnap(vxs, path_id[i])); sclineRasToBmp.RenderWithColor(destImage, sclineRas, scline, colors[i]); } }
//---------------- public override void DrawBezierCurve(float startX, float startY, float endX, float endY, float controlX1, float controlY1, float controlX2, float controlY2) { VertexStore vxs = new VertexStore(); PixelFarm.Agg.VertexSource.BezierCurve.CreateBezierVxs4(vxs, new PixelFarm.VectorMath.Vector2(startX, startY), new PixelFarm.VectorMath.Vector2(endX, endY), new PixelFarm.VectorMath.Vector2(controlX1, controlY1), new PixelFarm.VectorMath.Vector2(controlX2, controlY2)); vxs = this.stroke.MakeVxs(vxs); sclineRas.Reset(); sclineRas.AddPath(vxs); //sclineRasToBmp.DrawWithColor(sclineRas, sclinePack8, this.fillColor); sclineRasToBmp.RenderWithColor(this.gx.DestImage, sclineRas, scline, this.strokeColor); }
//---------------- public override void DrawBezierCurve(float startX, float startY, float endX, float endY, float controlX1, float controlY1, float controlX2, float controlY2) { var v1 = GetFreeVxs(); PixelFarm.Agg.VertexSource.BezierCurve.CreateBezierVxs4(v1, new PixelFarm.VectorMath.Vector2(startX, startY), new PixelFarm.VectorMath.Vector2(endX, endY), new PixelFarm.VectorMath.Vector2(controlX1, controlY1), new PixelFarm.VectorMath.Vector2(controlX2, controlY2)); // var v2 = this.stroke.MakeVxs(v1, GetFreeVxs()); // sclineRas.Reset(); sclineRas.AddPath(v2); sclineRasToBmp.RenderWithColor(this.gx.DestImage, sclineRas, scline, this.strokeColor); ReleaseVxs(ref v1); ReleaseVxs(ref v2); }