3 Stimmen

Monotouch Zeichnen von Linien auf UIImage

Wie kann ich mit Monotouch eine einfache Linie auf das Bild in einem UIImage zeichnen, das gerade angezeigt wird?

Ein einfaches Beispiel ist natürlich gut.

Die Antwort Obj-C ist auch in Ordnung.

3voto

Dimitris Tavlikos Punkte 8158

Angenommen, Sie haben eine benutzerdefinierte UIImageView mit einem Bild auf seine Image-Eigenschaft gesetzt, platzieren Sie diese Methode in ihm:

private void DrawLineOnImage()
{

    UIGraphics.BeginImageContext(this.Image.Size);

    using (CGContext cont = UIGraphics.GetCurrentContext())
    {

        cont.TranslateCTM(0f, this.Image.Size.Height);
        cont.ScaleCTM(1.0f, -1.0f);
        cont.DrawImage(new RectangleF(0f,0f,this.Image.Size.Width, this.Image.Size.Height), this.Image.CGImage);
        cont.ScaleCTM(1.0f, -1.0f);
        cont.TranslateCTM(0f, -this.Image.Size.Height);

        using (CGPath path = new CGPath())
        {

            cont.SetLineWidth(3);
            cont.SetRGBStrokeColor(255, 0, 0, 1);
            path.AddLines(new PointF[] { 
                          new PointF(10, 10),
                            new PointF(100, 100) });
            path.CloseSubpath();

            cont.AddPath(path);
            cont.DrawPath(CGPathDrawingMode.FillStroke);
            this.Image = UIGraphics.GetImageFromCurrentImageContext();

        }//end using path

    }//end using cont
    UIGraphics.EndImageContext();

}//end void DrawLineOnImage

Dadurch wird eine rote Linie auf dem Bild selbst gezeichnet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X