예제 #1
0
        //**************************************************************************************************
        //                                         DrawInGraphic()
        //**************************************************************************************************

        public override void DrawInGraphic(Pen myPen, Graphics input)
        {
            //Rechteck zeichnen
            input.DrawPolygon(myPen, Corners_in_Pixel.ToArray());


            //Mittelpunkt markieren
            input.DrawLine(myPen, (Mittelpunkt_in_Pixel.X - Width_in_Pixel / 6),
                           (Mittelpunkt_in_Pixel.Y - Width_in_Pixel / 6),
                           (Mittelpunkt_in_Pixel.X + Width_in_Pixel / 6),
                           (Mittelpunkt_in_Pixel.Y + Width_in_Pixel / 6));
            input.DrawLine(myPen, (Mittelpunkt_in_Pixel.X + Width_in_Pixel / 6),
                           (Mittelpunkt_in_Pixel.Y - Width_in_Pixel / 6),
                           (Mittelpunkt_in_Pixel.X - Width_in_Pixel / 6),
                           (Mittelpunkt_in_Pixel.Y + Width_in_Pixel / 6));
        }
예제 #2
0
        public Rectangular(List <AForge.IntPoint> corners)
        {
            //Int Punkt zu float umrechnen
            foreach (AForge.IntPoint punkt in corners)
            {
                Corners_in_Pixel.Add(new PointF((float)punkt.X, (float)punkt.Y));
            }

            //Mittelpunkt berechnen
            PointF temp_Point = new PointF(0, 0);

            foreach (var punkt in corners)
            {
                temp_Point.X += punkt.X;
                temp_Point.Y += punkt.Y;
            }
            Mittelpunkt_in_Pixel = new PointF(temp_Point.X / corners.Count, temp_Point.Y / corners.Count);

            //Höhe und Breite berechnen
            float line1 = corners[0].DistanceTo(corners[1]);
            float line2 = corners[1].DistanceTo(corners[2]);
            float line3 = corners[2].DistanceTo(corners[3]);
            float line4 = corners[3].DistanceTo(corners[0]);

            Width_in_Pixel = (line1 + line3) / 2;
            Width_in_Pixel = (line2 + line4) / 2;

            //Umrechnen
            Mittelpunkt_in_mm = new PointF(
                (Mittelpunkt_in_Pixel.X - ImageMittelpunkt.X) * Umrechnung_Pixel_to_mm,
                (Mittelpunkt_in_Pixel.Y - ImageMittelpunkt.Y) * Umrechnung_Pixel_to_mm);

            foreach (var point in Corners_in_Pixel)
            {
                Corners_in_mm.Add(new PointF((point.X - ImageMittelpunkt.X) * Umrechnung_Pixel_to_mm,
                                             (point.Y - ImageMittelpunkt.Y) * Umrechnung_Pixel_to_mm));
            }

            Height_in_mm = Height_in_Pixel * Umrechnung_Pixel_to_mm;
            Width_in_mm  = Width_in_Pixel * Umrechnung_Pixel_to_mm;
        }