gpt4 book ai didi

ios - 在 CGContext 中定位预制的 CGPath

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:07:52 25 4
gpt4 key购买 nike

我正在尝试找出一种添加或附加路径(我已经创建的)的方法,并且能够以某种方式设置绘制路径的位置。

这是我正在谈论的例子:

//everything here can be compiled in a regular UIViewController
//this example is very trivial but it illustrates basically what I want to do
CGRect preMadeRect = CGRectMake(0.0f, 0.f, 50.f, 50.f);
CGPathRef preMadePath = CGPathCreateWithEllipseInRect(preMadeRect, NULL);

UIGraphicsBeginImageContext(self.view.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();

//I thought that maybe if I moved to a new point
//the path would respect the starting point as its new
//x and y coordinates
CGContextMoveToPoint(context, 50.f, 50.f);
//I am adding a path
//I want the path to be positioned at new coordinates
//within the context
CGContextAddPath(context, preMadePath);
CGContextStrokePath(context);

UIImage *resultImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

UIImageView *imageView = [[UIImageView alloc]initWithImage:resultImage];
[self.view addSubview: imageView];

如有任何想法,我们将不胜感激。

最佳答案

你不能改变路径中的点;他们被设置。但是,您可以对上下文应用转换,改为更改坐标系。

您的路径定义了一个矩形,其中一个角位于原点 (0,0)。默认情况下,原点位于图像的左上角(或左下角)。如果将上下文的坐标系平移 50,50,然后绘制路径(仍为 0,0),它会出现在距离拐角五十个像素的地方。

在文档中查找 CGContextTranslateCTM

如果您正在进行其他绘图并且需要撤消坐标系更改,您可能还需要使用 CGContextSaveGStateCGContextRestoreGState

关于ios - 在 CGContext 中定位预制的 CGPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10324989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com