0

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();

}

4

1 に答える 1

0

最終的に、単純な for{} ルーチンを使用して、切り取られた領域にパターンを描画することで、これを解決しました。CGPattern を機能させることができませんでした。

于 2012-11-15T10:39:10.727 に答える