2014-06-12 4 views
0

Je suis en train de tirer sur picturebox et mon code est ci-dessous:dessin sur picturebox image

List<IntPoint> edgePoints; 
List<IntPoint> corners; 

AForge.Imaging.Blob[] blobs = blobCounter.GetObjectsInformation(); 
Graphics g = Graphics.FromImage(pictureBox2.Image); 
Pen bluePen = new Pen(Color.Blue, 5); 

double[] blobAdjustedSize = new double[blobs.Length]; 
for (int i = 0, n = blobs.Length; i < n; i++) 
{ 
    edgePoints = blobCounter.GetBlobsEdgePoints(blobs[i]); 
    corners = PointsCloud.FindQuadrilateralCorners(edgePoints); 

    g.DrawPolygon(bluePen, corners); // **UNDERLINE** 
}   

Et je reçois une erreur. g.DrawPolygon(bluePen, corners) est souligné.

L'erreur est:

Le match de la meilleure méthode surchargée pour System.Drawing.Graphics.DrawPolygon (System.Drawing.Pen, System.Drawing.Point []) » a des arguments invalides

+0

erreur mentionne il. Vous ne fournissez pas de paramètres de correction. – Guanxi

Répondre

1

Il est attendre un Array of Points plutôt que d'une liste, définir les coins comme Vers le haut du fichier Array ou ajouter

using System.Linq; 

, et modifiez la ligne à

g.DrawPolygon(bluePen, corners.ToArray()); 
+0

J'ai essayé mais je ne travaillais pas. :/ – user3425879

+0

En quoi ça ne marche pas? – Rich

+0

Même erreur, même ligne soulignée – user3425879