在 iPhone 中绘制并填充矩形

发布于 2024-12-05 13:36:57 字数 90 浏览 1 评论 0原文

我有 4 个点,即 (x1,y1)、(x2,y2)、(x2,y3) 和 (x4,y4)。我需要用这些点绘制一个矩形,并在该矩形内填充颜色。有人可以帮我解决这个问题吗?

I have 4 points say (x1,y1), (x2,y2), (x2,y3) and (x4,y4). I need a draw a rectangle with these points and fill a color inside that rect. Can any one help me with this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

薄凉少年不暖心 2024-12-12 13:36:57

首先,获取当前图形上下文:

CGContextRef context = UIGraphicsGetCurrentContext();

接下来,定义矩形:

CGRect myRect = {x1, y1, x2 - x1, y2 - y1};

现在,设置填充颜色,例如红色

CGContextSetRGBFillColor(context, 1.0, 0.0, 0.0, 1.0);

设置描边颜色,例如绿色:

CGContextSetRGBStrokeColor(context, 0.0, 1.0, 0.0, 1.0);

最后,填充矩形:

CGContextFillRect(context, myRect);

First, get the current graphics context:

CGContextRef context = UIGraphicsGetCurrentContext();

Next, define the rectangle:

CGRect myRect = {x1, y1, x2 - x1, y2 - y1};

Now, set the fill color, e.g red

CGContextSetRGBFillColor(context, 1.0, 0.0, 0.0, 1.0);

Set the stroke color, e.g. green:

CGContextSetRGBStrokeColor(context, 0.0, 1.0, 0.0, 1.0);

Finally, fill the rectangle:

CGContextFillRect(context, myRect);
恬淡成诗 2024-12-12 13:36:57

创建一个 UIBezierPath 对象。移动到第一个点,然后为后续的三个点调用 addLineToPoint:。然后调用closePath。

您现在可以填充描边此路径,或者如果您想使用核心图形,则获取CGPath

有关文档,请参阅此处

Create a UIBezierPath object. Move to your first point, then call addLineToPoint: for your subsequent three points. Then call closePath.

You can now fill or stroke this path, or obtain the CGPath if you want to use core graphics.

See here for the documentation.

白龙吟 2024-12-12 13:36:57

如果您需要 swift 4.2 相同的:

  func drawOldStyle() {

        guard let context = UIGraphicsGetCurrentContext() else{
            return
        }


        //Next, define the rectangle:
        let myRect = CGRect(x: 30, y: 100, width: 100, height: 20)

        //Now, set the fill color, e.g red
        context.setFillColor(UIColor.red.cgColor)

        //Set the stroke color, e.g. green:
        context.setFillColor(UIColor.green.cgColor)

        //Finally, fill the rectangle:
        context.fill( myRect)

        // AND Stroke:
        context.stroke(myRect)

    }

If You need the same for swift 4.2:

  func drawOldStyle() {

        guard let context = UIGraphicsGetCurrentContext() else{
            return
        }


        //Next, define the rectangle:
        let myRect = CGRect(x: 30, y: 100, width: 100, height: 20)

        //Now, set the fill color, e.g red
        context.setFillColor(UIColor.red.cgColor)

        //Set the stroke color, e.g. green:
        context.setFillColor(UIColor.green.cgColor)

        //Finally, fill the rectangle:
        context.fill( myRect)

        // AND Stroke:
        context.stroke(myRect)

    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文