2011-01-21 2 views
3

Использование Monotouch, как бы я нарисовал простую линию на изображении в UIImage, который в настоящее время отображается?Monotouch Draw line on UIImage

Простой пример, конечно, хорошо.

Obj-C ответ в порядке тоже.

ответ

3

Если у вас есть пользовательский UIImageView с изображением установленного на его свойство изображения, поместить этот метод в нем:

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 

Это рисует красную линию на самом изображении.