B4J Library jCanvasExt Extends Canvas methods

This library, with the Class source code, extends the Canvas functionalities.
Some time ago I was playing with B4J Canvas with methods not exposed directly to B4J.
There was a question in the forum for a routine to draw rectangles with round corners.
So, I think it may be useful for others.

upload_2017-11-22_12-59-3.png

Screenshot of the demo program.

jCanvasExt

Author:
Klaus CHRISTL (klaus)
Version: 1
  • CanvasExt
    • Functions:
      • appendSVGPath (SVGPath As String) As String
        Appends a SVGPath string to the current path
        M = moveTo
        L = lineTo
        H = horizontal lineTo
        V = vertical lineTo
        C = curveto
        S = smooth curveto
        Q = quadratic Bézier curve
        T = smooth quadratic Bézier curveto
        A = elliptical arc
        Z = closePath
        All of the commands above can also be expressed with lower letters.
        Capital letters means absolutely positioned, lower cases means relatively positioned.
        For more details look here:
        https://www.w3schools.com/graphics/svg_path.asp
      • arc (CenterX As Double, CenterY As Double, RadiusX As Double, RadiusY As Double, StartAngle As Double, Lenght As Double) As String
        Adds an arc to the arc end point in the current path
        CenterX, CenterY coordinates of the center
        RadiusX and RadiusY X and Y radius
        StartAngle
        Length length of the arc
        Adds path elements to the current path to make an arc that uses Euclidean degrees.
        This Euclidean orientation sweeps from East to North, then West, then South, then back to East.
        The coordinates are transformed by the current transform as they are added to the path.
      • arcTo (x1 As Double, y1 As Double, x2 As Double, y2 As Double, Radius As Double) As String
        Adds an arc to the next point (x2, y2) in the current path
        x1, y1 coordinates of point 1
        x2, y2 coordinates of point 2
        Radius
        For details look here:
        https://docs.oracle.com/javase/8/ja...rc-double-double-double-double-double-double-
      • beginPath As String
        Begins a new current path
      • bezierCurveTo (xc1 As Double, yc1 As Double, xc2 As Double, yc2 As Double, x1 As Double, y1 As Double) As String
        Adds a cubic Bezier curve to the next point (x1, y1) in the current path
        xc1, yc1 coordinates of first Bezier control point
        xc2, yc2 coordinates of second Bezier control point
        x1, y1 coordinates of the end point
      • Class_Globals As String
      • closePath As String
        Closes the path
      • DrawArc (x As Double, y As Double, Width As Double, Height As Double, StartAngle As Double, AngleExtend As Double, ArcType As String, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws an eliptic Arc
        x = left coordinate of the surrounding rectangle
        Y = top coordinate of the surrounding rectangle
        Width = width coordinate of the surrounding rectangle
        Height = height coordinate of the surrounding rectangle
        StartingAngle = starting angle in degrees, 0 = horizontal right
        AngleExtend = angle extend in degrees positve counter clockwise
        ArcType possible values CHORD, OPEN or ROUND
        CHORD joins the begin and end points
        ROUND joins the begin and end points to the center point
        OPEN the arc is open, when Filled = True is equivalent to CHORD
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawArc2 (CenterX As Double, CenterY As Double, Radius As Double, StartAngle As Double, AngleExtend As Double, ArcType As String, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws a circular Arc
        CenterX = center X coordinate
        CenterY = center X coordinate
        Radius = radius of the arc
        StartingAngle = starting angle in degrees, 0 = horizontal right
        AngleExtend = angle extend in degrees positve counter clockwise
        ArcType possible values CHORD, OPEN or ROUND
        CHORD joins the begin and end points
        ROUND joins the begin and end points to the center point
        OPEN the arc is open, when Filled = True is ie equivalent to CHORD
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawDashedLine (x1 As Double, y1 As Double, x2 As Double, y2 As Double, Color As Paint, LineWidth As Double, LineDashes As Double(), LineDashOffset As Double) As String
        Draws a dashed line
        x = left coordinate of the surrounding rectangle
        Y = top coordinate of the surrounding rectangle
        Width = width coordinate of the surrounding rectangle
        Height = height coordinate of the surrounding rectangle
        Radius = corner radius
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
        Example:
        Private Dashes(4) As Double
        Dashes = Array As Double(15, 5, 35, 10)
      • DrawOval (x As Double, y As Double, Width As Double, Height As Double, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws an Oval
        x = left coordinate of the surrounding rectangle
        Y = top coordinate of the surrounding rectangle
        Width = width coordinate of the surrounding rectangle
        Height = height coordinate of the surrounding rectangle
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawPolygon (x As Double(), y As Double(), NumberPoints As Int, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws a polygon
        x() a one dimension array of the x coordinates
        y() a one dimension array of the y coordinates
        NumberPoints = number of points it can be smaller than the x and y array lenths
        The polygon is automatically closed, no need to set the last point equal to the firrst one
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawPolyline (x As Double(), y As Double(), NumberPoints As Int, Color As Paint, LineWidth As Double) As String
        Draws a polyline
        x() a one dimension array of the x coordinates
        y() a one dimension array of the y coordinates
        NumberPoints = number of points it can be smaller than the x and y arrays
        Color = fx.Colors.Color
        Stroke = line width, has no effect when Filled = True
      • DrawPolyline2 (x As Double(), y As Double(), NumberPoints As Int, Color As Paint, LineWidth As Double, strokeLineCap As String, strokeLineJoin As String) As String
        Draws a polyline with LineCap and LineJoin
        x() a one dimension array of the x coordinates
        y() a one dimension array of the y coordinates
        NumberPoints = number of points it can be smaller than the x and y arrays
        Color = fx.Colors.Color
        LineWidth = line width, has no effect when Filled = True
        strokeLineCap = line extremities shape, possible values: BUTT, ROUND, or SQUARE
        strokeLineJoin = line join shapes, possible values: MITER, BEVEL or ROUND
      • DrawRect (x As Double, y As Double, Width As Double, Height As Double, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws a Rectangle
        x = left coordinate of the surrounding rectangle
        Y = top coordinate of the surrounding rectangle
        Width = width coordinate of the surrounding rectangle
        Height = height coordinate of the surrounding rectangle
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawRect2 (x1 As Double, y1 As Double, x2 As Double, y2 As Double, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws a Rectangle
        x1 = left coordinate of the rectangle
        Y1 = top coordinate of the rectangle
        x2 = right coordinate of the rectangle
        y2 = bottom coordinate of the rectangle
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawRectRounded (x As Double, y As Double, Width As Double, Height As Double, ArcWidth As Double, ArcHeight As Double, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws a rouded Rectangle
        x = left coordinate of the surrounding rectangle
        Y = top coordinate of the surrounding rectangle
        Width = width coordinate of the surrounding rectangle
        Height = height coordinate of the surrounding rectangle
        ArcWidth = corner arc width for a radius set both Arc values the same
        ArcHeight = corner arc height
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawRectRounded2 (x1 As Double, y1 As Double, x2 As Double, y2 As Double, ArcWidth As Double, ArcHeight As Double, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws a rouded Rectangle
        x1 = left coordinate of the rectangle
        Y1 = top coordinate of the rectangle
        x2 = right coordinate of the rectangle
        y2 = bottom coordinate of the rectangle
        ArcWidth = corner arc width for a radius set both Arc values the same
        ArcHeight = corner arc height
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawText3 (Text As String, x As Double, y As Double, Font As Font, Color As Paint, HorizontalAlignment As String, VerticalAlignment As String, Filled As Boolean) As String
        Draws a text
        Text = text to draw
        x = x coordinate of the reference point
        y = y coordinate of the reference point
        Font = text font name
        Color = fx.Colors.Color
        HorizontalAlignment possible values: LEFT, CENTER, RIGHT
        VerticalAlignment possible values: TOP, CENTER, BASELINE, or BOTTOM
        Filled True for standard text False for empty text.
      • fill As String
        Fills the current path (fills the area)
      • fillPolygon (x As Double(), y As Double(), NumberPoints As Int, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Fills a polygon with the current fill properties
        x() a one dimension array of the x coordinates
        y() a one dimension array of the y coordinates
        NumberPoints = number of points it can be smaller than the x and y array lenths
      • GetPaint (Color As String) As Paint
        Returns the paint object according to the color string
      • Initialize (Canvas As Canvas) As String
        Initializes the object.
      • IsInitialized As Boolean
        Tests whether the object has been initialized.
      • isPointInPath (x As Double, y As Double) As Boolean
        Returns true if the given point is insides the current path
      • lineTo (x As Double, y As Double) As String
        Adds a line to the next point (x, y) in the current path
      • moveTo (x As Double, y As Double) As String
        Moves to the next point (x, y) in the current path
      • quadraticCurveTo (xc As Double, yc As Double, x1 As Double, y1 As Double) As String
        Adds a quadratic curve to the next point (x1, y1) in the current path
        Adds segments to the current path to make a quadratic Bezier curve.
        xc, yc coordinates of the control point
        x1, y1 coordinates of the end point
      • SetFill (Color As Paint) As String
        Sets the filled color
      • SetLineCap (LineCap As String) As String
        Sets the line Cap
        possible values are SQUARE, BUTT, ROUND
      • SetLineDashes (LineDashes As Double()) As String
        Sets the line dashes
        LineDashes() array of doubles of finite non-negative dash lengths
        Example:<code>
        Private Dashes(4) As Double
        Dashes = Array As Double(15, 5, 35, 10)
        cvsTestExt.DrawDashedLine(0, 10, cvsTest.Width, 10, fx.Colors.Red, 2, Dashes, 0)
        </code>
      • SetLineDashOffset (LineDashOffset As Double) As String
        Sets the line dash offset
      • SetLineJoin (LineJoin As String) As String
        Sets the line Join
        possible values are MITER, BEVEL, ROUND
      • SetLineWidth (LineWidth As Double) As String
        Sets the line width
      • SetMiterLimit (MiterLimit As Double) As String
        Sets the miter Limit
        possible values are MITER, BEVEL, ROUND
      • SetStroke (Color As Paint) As String
        Sets the stroke (line) color
      • SetTranslateX (x As Double) As String
        Moves the Canvas horizontally by x pixels
      • SetTranslateY (y As Double) As String
        Moves the Canvas vertically by y pixels
      • stroke As String
        Strokes (draws) the current path
      • strokeLine (x1 As Double, y1 As Double, x2 As Double, y2 As Double) As String
        Strokes (draws) a line with the current stroke properties
      • strokePolygon (x As Double(), y As Double(), NumberPoints As Int) As String
        Strokes (draws) a polygon with the current stroke properties
        x() a one dimension array of the x coordinates
        y() a one dimension array of the y coordinates
        NumberPoints = number of points it can be smaller than the x and y array lenths
      • strokePolyline (x As Double(), y As Double(), NumberPoints As Int) As String
        Strokes (draws) a polyline with the current stroke properties
        x() a one dimension array of the x coordinates
        y() a one dimension array of the y coordinates
        NumberPoints = number of points, it can be smaller than the x and y array lenths
 

Attachments

  • Lib.zip
    7.5 KB · Views: 438
  • LibCanvasExtDemo.zip
    72.5 KB · Views: 433
  • ClsCanvasExtDemo.zip
    76.1 KB · Views: 133
Last edited:

Johan Hormaza

Well-Known Member
Licensed User
Hello Klaus!
To find the Centroid of this figure?

regards...
 

Attachments

  • Captura.PNG
    Captura.PNG
    58.8 KB · Views: 429

klaus

Expert
Licensed User
Longtime User
Sorry for answering only today, but I was very busy the last two days.
I suggest you to ask the question in the questions forum, in a new thread, as it is not related to the jCanvasExt library, it is a general geometry question.
I will look at it and answer in your new thread.
 

Informatix

Expert
Licensed User
Longtime User
Hello Klaus!
To find the Centroid of this figure?

regards...
Try SimpleGameEngine. It contains all the functions of jCanvasExt and a function able to compute the centroid of a polygon (class sgePolygon, function Centroid) among many other functions.
 

Tayfur

Well-Known Member
Licensed User
Longtime User
This library, with the Class source code, extends the Canvas functionalities.
Some time ago I was playing with B4J Canvas with methods not exposed directly to B4J.
There was a question in the forum for a routine to draw rectangles with round corners.
So, I think it may be useful for others.

View attachment 61967
Screenshot of the demo program.

jCanvasExt

Author: Klaus CHRISTL (klaus)
Version: 1
  • CanvasExt
    • Functions:
      • appendSVGPath (SVGPath As String) As String
        Appends a SVGPath string to the current path
        M = moveTo
        L = lineTo
        H = horizontal lineTo
        V = vertical lineTo
        C = curveto
        S = smooth curveto
        Q = quadratic Bézier curve
        T = smooth quadratic Bézier curveto
        A = elliptical arc
        Z = closePath
        All of the commands above can also be expressed with lower letters.
        Capital letters means absolutely positioned, lower cases means relatively positioned.
        For more details look here:
        https://www.w3schools.com/graphics/svg_path.asp
      • arc (CenterX As Double, CenterY As Double, RadiusX As Double, RadiusY As Double, StartAngle As Double, Lenght As Double) As String
        Adds an arc to the arc end point in the current path
        CenterX, CenterY coordinates of the center
        RadiusX and RadiusY X and Y radius
        StartAngle
        Length length of the arc
        Adds path elements to the current path to make an arc that uses Euclidean degrees.
        This Euclidean orientation sweeps from East to North, then West, then South, then back to East.
        The coordinates are transformed by the current transform as they are added to the path.
      • arcTo (x1 As Double, y1 As Double, x2 As Double, y2 As Double, Radius As Double) As String
        Adds an arc to the next point (x2, y2) in the current path
        x1, y1 coordinates of point 1
        x2, y2 coordinates of point 2
        Radius
        For details look here:
        https://docs.oracle.com/javase/8/ja...rc-double-double-double-double-double-double-
      • beginPath As String
        Begins a new current path
      • bezierCurveTo (xc1 As Double, yc1 As Double, xc2 As Double, yc2 As Double, x1 As Double, y1 As Double) As String
        Adds a cubic Bezier curve to the next point (x1, y1) in the current path
        xc1, yc1 coordinates of first Bezier control point
        xc2, yc2 coordinates of second Bezier control point
        x1, y1 coordinates of the end point
      • Class_Globals As String
      • closePath As String
        Closes the path
      • DrawArc (x As Double, y As Double, Width As Double, Height As Double, StartAngle As Double, AngleExtend As Double, ArcType As String, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws an eliptic Arc
        x = left coordinate of the surrounding rectangle
        Y = top coordinate of the surrounding rectangle
        Width = width coordinate of the surrounding rectangle
        Height = height coordinate of the surrounding rectangle
        StartingAngle = starting angle in degrees, 0 = horizontal right
        AngleExtend = angle extend in degrees positve counter clockwise
        ArcType possible values CHORD, OPEN or ROUND
        CHORD joins the begin and end points
        ROUND joins the begin and end points to the center point
        OPEN the arc is open, when Filled = True is equivalent to CHORD
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawArc2 (CenterX As Double, CenterY As Double, Radius As Double, StartAngle As Double, AngleExtend As Double, ArcType As String, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws a circular Arc
        CenterX = center X coordinate
        CenterY = center X coordinate
        Radius = radius of the arc
        StartingAngle = starting angle in degrees, 0 = horizontal right
        AngleExtend = angle extend in degrees positve counter clockwise
        ArcType possible values CHORD, OPEN or ROUND
        CHORD joins the begin and end points
        ROUND joins the begin and end points to the center point
        OPEN the arc is open, when Filled = True is ie equivalent to CHORD
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawDashedLine (x1 As Double, y1 As Double, x2 As Double, y2 As Double, Color As Paint, LineWidth As Double, LineDashes As Double(), LineDashOffset As Double) As String
        Draws a dashed line
        x = left coordinate of the surrounding rectangle
        Y = top coordinate of the surrounding rectangle
        Width = width coordinate of the surrounding rectangle
        Height = height coordinate of the surrounding rectangle
        Radius = corner radius
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
        Example:
        Private Dashes(4) As Double
        Dashes = Array As Double(15, 5, 35, 10)
      • DrawOval (x As Double, y As Double, Width As Double, Height As Double, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws an Oval
        x = left coordinate of the surrounding rectangle
        Y = top coordinate of the surrounding rectangle
        Width = width coordinate of the surrounding rectangle
        Height = height coordinate of the surrounding rectangle
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawPolygon (x As Double(), y As Double(), NumberPoints As Int, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws a polygon
        x() a one dimension array of the x coordinates
        y() a one dimension array of the y coordinates
        NumberPoints = number of points it can be smaller than the x and y array lenths
        The polygon is automatically closed, no need to set the last point equal to the firrst one
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawPolyline (x As Double(), y As Double(), NumberPoints As Int, Color As Paint, LineWidth As Double) As String
        Draws a polyline
        x() a one dimension array of the x coordinates
        y() a one dimension array of the y coordinates
        NumberPoints = number of points it can be smaller than the x and y arrays
        Color = fx.Colors.Color
        Stroke = line width, has no effect when Filled = True
      • DrawPolyline2 (x As Double(), y As Double(), NumberPoints As Int, Color As Paint, LineWidth As Double, strokeLineCap As String, strokeLineJoin As String) As String
        Draws a polyline with LineCap and LineJoin
        x() a one dimension array of the x coordinates
        y() a one dimension array of the y coordinates
        NumberPoints = number of points it can be smaller than the x and y arrays
        Color = fx.Colors.Color
        LineWidth = line width, has no effect when Filled = True
        strokeLineCap = line extremities shape, possible values: BUTT, ROUND, or SQUARE
        strokeLineJoin = line join shapes, possible values: MITER, BEVEL or ROUND
      • DrawRect (x As Double, y As Double, Width As Double, Height As Double, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws a Rectangle
        x = left coordinate of the surrounding rectangle
        Y = top coordinate of the surrounding rectangle
        Width = width coordinate of the surrounding rectangle
        Height = height coordinate of the surrounding rectangle
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawRect2 (x1 As Double, y1 As Double, x2 As Double, y2 As Double, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws a Rectangle
        x1 = left coordinate of the rectangle
        Y1 = top coordinate of the rectangle
        x2 = right coordinate of the rectangle
        y2 = bottom coordinate of the rectangle
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawRectRounded (x As Double, y As Double, Width As Double, Height As Double, ArcWidth As Double, ArcHeight As Double, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws a rouded Rectangle
        x = left coordinate of the surrounding rectangle
        Y = top coordinate of the surrounding rectangle
        Width = width coordinate of the surrounding rectangle
        Height = height coordinate of the surrounding rectangle
        ArcWidth = corner arc width for a radius set both Arc values the same
        ArcHeight = corner arc height
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawRectRounded2 (x1 As Double, y1 As Double, x2 As Double, y2 As Double, ArcWidth As Double, ArcHeight As Double, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Draws a rouded Rectangle
        x1 = left coordinate of the rectangle
        Y1 = top coordinate of the rectangle
        x2 = right coordinate of the rectangle
        y2 = bottom coordinate of the rectangle
        ArcWidth = corner arc width for a radius set both Arc values the same
        ArcHeight = corner arc height
        Color = fx.Colors.Color
        Filled True Filled, False only the line
        Stroke = line width, has no effect when Filled = True
      • DrawText3 (Text As String, x As Double, y As Double, Font As Font, Color As Paint, HorizontalAlignment As String, VerticalAlignment As String, Filled As Boolean) As String
        Draws a text
        Text = text to draw
        x = x coordinate of the reference point
        y = y coordinate of the reference point
        Font = text font name
        Color = fx.Colors.Color
        HorizontalAlignment possible values: LEFT, CENTER, RIGHT
        VerticalAlignment possible values: TOP, CENTER, BASELINE, or BOTTOM
        Filled True for standard text False for empty text.
      • fill As String
        Fills the current path (fills the area)
      • fillPolygon (x As Double(), y As Double(), NumberPoints As Int, Color As Paint, Filled As Boolean, LineWidth As Double) As String
        Fills a polygon with the current fill properties
        x() a one dimension array of the x coordinates
        y() a one dimension array of the y coordinates
        NumberPoints = number of points it can be smaller than the x and y array lenths
      • GetPaint (Color As String) As Paint
        Returns the paint object according to the color string
      • Initialize (Canvas As Canvas) As String
        Initializes the object.
      • IsInitialized As Boolean
        Tests whether the object has been initialized.
      • isPointInPath (x As Double, y As Double) As Boolean
        Returns true if the given point is insides the current path
      • lineTo (x As Double, y As Double) As String
        Adds a line to the next point (x, y) in the current path
      • moveTo (x As Double, y As Double) As String
        Moves to the next point (x, y) in the current path
      • quadraticCurveTo (xc As Double, yc As Double, x1 As Double, y1 As Double) As String
        Adds a quadratic curve to the next point (x1, y1) in the current path
        Adds segments to the current path to make a quadratic Bezier curve.
        xc, yc coordinates of the control point
        x1, y1 coordinates of the end point
      • SetFill (Color As Paint) As String
        Sets the filled color
      • SetLineCap (LineCap As String) As String
        Sets the line Cap
        possible values are SQUARE, BUTT, ROUND
      • SetLineDashes (LineDashes As Double()) As String
        Sets the line dashes
        LineDashes() array of doubles of finite non-negative dash lengths
        Example:<code>
        Private Dashes(4) As Double
        Dashes = Array As Double(15, 5, 35, 10)
        cvsTestExt.DrawDashedLine(0, 10, cvsTest.Width, 10, fx.Colors.Red, 2, Dashes, 0)
        </code>
      • SetLineDashOffset (LineDashOffset As Double) As String
        Sets the line dash offset
      • SetLineJoin (LineJoin As String) As String
        Sets the line Join
        possible values are MITER, BEVEL, ROUND
      • SetLineWidth (LineWidth As Double) As String
        Sets the line width
      • SetMiterLimit (MiterLimit As Double) As String
        Sets the miter Limit
        possible values are MITER, BEVEL, ROUND
      • SetStroke (Color As Paint) As String
        Sets the stroke (line) color
      • SetTranslateX (x As Double) As String
        Moves the Canvas horizontally by x pixels
      • SetTranslateY (y As Double) As String
        Moves the Canvas vertically by y pixels
      • stroke As String
        Strokes (draws) the current path
      • strokeLine (x1 As Double, y1 As Double, x2 As Double, y2 As Double) As String
        Strokes (draws) a line with the current stroke properties
      • strokePolygon (x As Double(), y As Double(), NumberPoints As Int) As String
        Strokes (draws) a polygon with the current stroke properties
        x() a one dimension array of the x coordinates
        y() a one dimension array of the y coordinates
        NumberPoints = number of points it can be smaller than the x and y array lenths
      • strokePolyline (x As Double(), y As Double(), NumberPoints As Int) As String
        Strokes (draws) a polyline with the current stroke properties
        x() a one dimension array of the x coordinates
        y() a one dimension array of the y coordinates
        NumberPoints = number of points, it can be smaller than the x and y array lenths

is it possible B4XCanvas?
i tried it. it not convert.
 

klaus

Expert
Licensed User
Longtime User
Last edited:

Similar Threads

Top