2012-08-18 2 views
0

MonoMac에서 패턴을 채우는 방법을 아는 사람이 있습니까?이 코드는 아무 것도 안됩니다. 그것은 심지어 드로잉 패턴을 호출하지 않습니다. 어떤 도움도 좋지 않을까 : DMonoMac에서 패턴을 채우는 방법

void DrawPattern (CGContext NewContext) 
    { 
     Console.WriteLine("Drawing Pattern?"); 
     NewContext.SetFillColor(new CGColor(1,0,0)); 
     NewContext.FillRect(new RectangleF(0,0,5,5)); 
    } 
    public void FillPatternPath (CGContext MyCanvas,CGPath Path) 
    { 
     MyCanvas.SaveState(); 
     CGPath NewPath=Path.GetCGPath(); 
     MyCanvas.AddPath (NewPath); 
     RectangleF PBounds=MyCanvas.GetPathBoundingBox(); 
     MyCanvas.EOClip(); 
     CGColorSpace patternSpace = CGColorSpace.CreatePattern(null); 
     MyCanvas.SetFillColorSpace(patternSpace); 
     CGPattern Pat=new CGPattern(PBounds,CGAffineTransform.MakeIdentity(),10,10,CGPatternTiling.ConstantSpacing,true,new CGPattern.DrawPattern(DrawPattern)); 
     MyCanvas.SetFillPattern(Pat,new float[]{1f}); 
     MyCanvas.FillRect (PBounds); 
     patternSpace.Dispose(); 
     MyCanvas.RestoreState(); 

}

+0

처음에는이 줄을 무시하십시오. 죄송합니다. CGPath NewPath = Path.GetCGPath(); –

답변

0

내가 {} 루틴에 대한 간단한을 사용하여 클리핑 영역의 패턴을 그려 결국이 문제를 해결했다. 나는 CGPattern을 작동시키지 못했습니다.