gpt4 book ai didi

iOS : Repositioning UIGraphicsBeginImageContext and UIImageView

转载 作者:行者123 更新时间:2023-11-29 10:56:43 27 4
gpt4 key购买 nike

我有代码可以让我在 UIImageView 上绘图 - 但我希望能够限制绘图区域。

我已经能够限制大小,但现在我无法定位它:如果我将 (0, 0) 更改为任何其他值,我的图像将完全消失并且绘图功能将停止工作

drawImage - 是一个 UIImageView

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
mouseSwiped = YES;

UITouch *touch = [touches anyObject];
currentPoint = [touch locationInView:self];

UIGraphicsBeginImageContext(CGSizeMake(560, 660));
[drawImage.image drawInRect:CGRectMake(0, 0, 560, 660)];

CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 5.0);
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 0, 1, 0, 1);
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());

[drawImage setFrame:CGRectMake(0, 0, 560, 660)];
drawImage.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
lastPoint = currentPoint;

[self addSubview:drawImage];
}

非常感谢任何帮助

最佳答案

我不确定我是否完全理解您要尝试做的事情,但我会考虑一下:

[drawImage.image drawInRect:CGRectMake(0, 0, 560, 660)];

这会告诉分配给 drawImage 的图像在当前上下文中的 0,0 处绘制自己。由于上下文是位图图像上下文,因此其范围将从 0,0560,660。在我看来,这可能就是你想要做的,否则你的位图中会有空白区域。如果您要将 0,0 更改为 10,0,我希望在生成的位图中有一个 10pt 宽的空白区域(这似乎是一种浪费) .

然后你这样做:

[drawImage setFrame:CGRectMake(0, 0, 560, 660)];

这是在其父 View 的坐标系中设置 UIImageView 的坐标。如果您将 that 0,0 更改为 5,5 我希望您的 UIImageView 显示为向下 5pt 和向右 5pt它的 super View 。

你说你想“限制绘图区域”。我假设你的意思是你在图像上绘制的部分。最简单的方法是在绘制之前在位图上下文中设置一个剪辑矩形。例如,如果您想防止在图像边缘周围绘制 10pt 带,您可以这样做:

UIGraphicsBeginImageContext(CGSizeMake(560, 660));
[drawImage.image drawInRect:CGRectMake(0, 0, 560, 660)];

CGContextClipToRect(UIGraphicsGetCurrentContext(), CGRectMake(10,10,540,640));
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
// ... and so on

不能 100% 确定这是否是您要查找的内容,但希望对您有所帮助。

关于iOS : Repositioning UIGraphicsBeginImageContext and UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17967286/

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