2011-01-21 39 views

回答

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 

这绘制图像本身上的红线。