gpt4 book ai didi

ios - UIBezierPath : Make image of drawing only

转载 作者:行者123 更新时间:2023-12-01 19:44:17 26 4
gpt4 key购买 nike

我正在使用以下代码从手绘创建图像:

UIGraphicsBeginImageContext(self.bounds.size);
for (UIBezierPath *path in self.pathArray) {
[self.lineColor setStroke];
[path stroke];
}

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

我想只拍摄黑线(绘图)而不是整个 View 的图像。 View 大小为 300x300。但如果我的绘图是 50x50,那么我只想专注于那部分。

我试过了
UIGraphicsBeginImageContext(signPath.bounds.size);
signPathUIBezierPath目的。但是有了这个,我得到了空白图像。

有什么建议么 ?

最佳答案

好的,我想通了。

UIGraphicsBeginImageContext(signPath.bounds.size);

通过这种方式,我只创建了图像上下文的大小,并且缺少原点。
所以我需要用 x and y (origins). 创建图像上下文

我起源于 UIBezierPathsize.
代码 :
    CGSize size = signPath.bounds.size;
size = CGSizeMake(size.width + 10, size.height + 10);
UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);
CGContextRef c = UIGraphicsGetCurrentContext();

CGContextConcatCTM(c, CGAffineTransformMakeTranslation(-signPath.bounds.origin.x + 5, -signPath.bounds.origin.y + 5));
[self.layer renderInContext:c];

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

在创建图像时,我已经为一些填充(给定一些空间)提供了静态值。

不确定这是否是标准方式,但它解决了我的问题,我能够在 500x500 View 中创建手绘图像。
现在我得到了我的手绘图( Strokes)的图像,而不是整个 View 。

关于ios - UIBezierPath : Make image of drawing only,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50293055/

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