Converting a string array to a system.drawing.point array

With no success, i am trying to convert a string array to at point array. I have tried the code below, but I get the message - 'Value of type 1-dimensonal array of strings cannot be converted to system.drawing.point'.

Is there a way to do this conversion

Dim _point(2) As String

_point(0) = "50, 50"

_point(1) = "100, 25"

_point(2) = "200, 5"

Dim _curv As Point()

_curv = CType(_point, Point)

Dim g As Graphics = Me.CreateGraphics

g.FillPolygon(Brushes.AliceBlue, _curv)



Answer this question

Converting a string array to a system.drawing.point array

  • Sushil Chordia - MSFT

    You can use the class:

    System.Drawing.PointConverter

    Sample:

    PointConverter pc = new PointConverter();

    Point myPoint = (Point) pc.ConvertFromString(pointString);

     



  • Mike D 543

    You can't just cast it. You must convert it:

    Here is the converted VB.NET code i converted from my writen C# code:

    Dim _point(2) As String
    _point(0) = "50, 50"
    _point(1) = "100, 25"

    Dim _curv(_point.Lenght) As Point
     
    Dim i As Integer
    For  i = 0 To  _poInteger.Lenght- 1  Step  i + 1
        Dim chunks() As String =  _point(i).Split(',')
        Dim x As Integer =  Convert.ToInt32(chunks(0).Trim())
        Dim y As Integer =  Convert.ToInt32(chunks(1).Trim())
     
        _curv(i) = New Point(x, y)
    Next

     


    Here is the original C# code:

    string[] _point = new string[2]
    _point[0] = "50, 50";
    _point[1] = "100, 25";

    Point[] _curv = new Point[ _point.Lenght ];

    for( int i = 0; i < _point.Lenght; i++ )
    {
        string[] chunks = _point[ i ].Split(',');
        int x = Convert.ToInt32( chunks[ 0 ].Trim() );
        int y = Convert.ToInt32( chunks[ 1 ].Trim() );
       
        _curv[ i ] = new Point( x, y );
    }

     



  • Converting a string array to a system.drawing.point array