有人知道如何在MonoMac中填充模式吗?不幸的是,这段代码什么也做不了。它甚至不调用绘图模式。任何帮助都是很棒的:D
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();}
发布于 2012-11-15 18:39:11
最后,我使用一个简单的for{}例程在裁剪区域中绘制了模式,从而解决了这个问题。我从来没能让CGPattern正常工作。
https://stackoverflow.com/questions/12021268
复制相似问题