2

4つの点(A、B)(C、D)(E、F)(G、H)で多角形を描画しようとしているため、必ずしも長方形ではありません。

次に、パターン化された画像をポリゴンに適用したいと思います。

initWithPatternImagecolorWithPatternImage、を調べましたがUIBezierPathCGContextStrokeLineSegmentsすべてをまとめる方法がわかりません。

どうすればそれらをすべてまとめることができるか、誰かアイデアを思いついた人はいますか?

注: 私は Open GL を使用していません

4

1 に答える 1

4

テストされていませんが、次のように動作するはずです。

- (void)drawRect:(CGRect)rect
{
    UIColor *color = [UIColor colorWithPatternImage:myPatternImage];
    [color set];

    UIBezierPath *path = [UIBezierPath bezierPath];
    [path moveToPoint:p1];
    [path addLineToPoint:p2];
    [path addLineToPoint:p3];
    [path addLineToPoint:p4];
    [path closePath]; // Implicitly does a line between p4 and p1
    [path fill]; // If you want it filled, or...
    [path stroke]; // ...if you want to draw the outline.
}

ストロークしたい場合は、線の幅を設定したり、そのようなものを使用したり、線の外観を制御するUIBezierPath[path setLineWidth:5];の他のプロパティを調べたりすることができます。

于 2011-05-01T11:42:37.203 に答える