- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当用户输入点击以指定顶点时,我正在绘制一组连接线。我正在构建一个 CGMutablePathRef
- (void)addPointToCGMPR: (CGPoint)p
forNewPolygon: (BOOL)newPoly
{
if (newPoly)
{
CGPathMoveToPoint(cgmpr, NULL, p.x, p.y);
}
else
{
CGPathAddLineToPoint(cgmpr, NULL, p.x, p.y);
}
[self setNeedsDisplay];
}
drawRect:然后在每个点输入后调用,上下文CGMutablePathRef被添加到一个CGContext中显示
- (void)drawRect:(CGRect)rect
{
// Set up a context to display
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextAddPath(context, cgmpr);
CGContextSetLineWidth(context, 1);
CGContextStrokePath(context);
// If NOT empty then Close the context so that box comparison can occur later
if (!CGContextIsPathEmpty(context))
{
CGContextClosePath(context);
}
}
正如人们所期望的那样,我在屏幕上出现了线条。我的麻烦是,在用户选择第一个点后,屏幕上没有任何渲染,并且直到输入第二个点后,用户才知道系统是否得到了他的第一个选择。我希望系统在输入下一个点之前渲染第一个点。我还希望系统以一种视觉上截然不同的方式渲染每个选取的顶点——现在我没有渲染顶点,只有线条。有没有办法让 CGContext 渲染点?有没有办法指定呈现这些点的样式?谢谢。
最佳答案
您可以随意绘制任何您想要代表点的内容:小正方形、小圆圈、图钉图像等。您已经知道如何在上下文中绘制;只需循环你的点并绘制它们,但你希望它们出现。对于这样的事情,我个人倾向于使用 CGContextFillEllipseInRect
。对于每个点,制作一个围绕该点的矩形并绘制它:
CGFloat pointSize = 4;
CGRect pointRect = CGRectMake(point.x - pointSize / 2, point.y - pointSize / 2, pointSize, pointSize);
CGContextFillEllipseInRect(context, pointRect);
关于ios - 如何在 CGContext CGMutablePathRef 上绘制顶点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10324373/
我正在使用 Apple 在其示例之一中提供的示例,用于在 MKOverlayView 上绘制 CGPath。目前,该线绘制为单色,但我想将其设置在路径上的不同点。 - (CGPathRef)n
我在 map 上渲染了近 1000 个多边形。我使用获取多边形的路径 - (CGPathRef)polyPath:(MKPolygon *)polygon { MKMapPoint *p
我不确定何时在下面的代码示例中释放由 CGPathCreateMutable 创建的路径。 // iVar ivarImageView = [[UIImageView alloc] i
我有这个代码来绘制圆角矩形: void ContextAddRoundedRect(CGContextRef ctx, CGRect rect, CGFloat radius) { CGFlo
@property (nonatomic, assign) CGMutablePathRef path; 我试过了 self.path = CGPathCreateMutable(); CGPathA
我正在画线使用 CGMutablePathRef path = CGPathCreateMutable(); for (int i = 0; i < [_points count]; i++) {
我有 CGMutablePathRef 创建的路径 CGMutablePathRef pointsPathpath = CGPathCreateMutable(); CGPathMoveToP
我在堆栈溢出时发现了这段代码。 CGMutablePathRef path = CGPathCreateMutable() CGPathMoveToPoint(path, nil, 0, -(self
我有办法从 CGMutablePathRef 中删除所有路径并获得清晰路径吗? 我正在绘制一条路径,我希望将其清空以供重用? 最佳答案 我不这么认为,只需发布它并创建一个新的 - 无论如何应该更快
在 iOS 中,有两个 C 结构表示描述可绘制形状的路径:CGPathRef 和 CGMutablePathRef。从他们的名字看来,CGPathRef 指的是一旦创建就不能更改的路径,而 CGMut
我正在为 iPhone 开发。我想通过 CGPathCreateMutable() 创建一个可变路径,并且我想从创建它的函数中返回它。我想在完成后调用 CGPathRelease()。但是因为我要归还
我有一个名为path的CGMutablePathRef对象,我想知道,我怎么知道path为空,这意味着我没有使用 CGPathAddLineToPoint(path, NULL, point.x, p
我画了一个 View 。 View 的框架 = (0,0,44,44) 并且 View 的背景颜色为黑色。我想添加一个蒙版以使 View 看起来像这样:蒙版是 View 中间的一个小圆圈。但我得到了相
在 ARC 下,是否可以使用 NSCoding 编码/解码 CGMutablePathRef(或其非可变形式)?我天真地尝试: path = CGPathCreateMutable(); ... [a
当用户输入点击以指定顶点时,我正在绘制一组连接线。我正在构建一个 CGMutablePathRef - (void)addPointToCGMPR: (CGPoint)p forNewPo
在我的 UIView 中,我有几个 CGPath 存储在 NSArray (availablePaths) 中。 在绘制任何东西之前,我创建了每个 CGPath 的缩放版本并替换数组中的旧的。 我使用
如何将 CGPathRef 转换为 CGMutablePathRef。 我认为这是结构而不是类,因此没有可用于转换的 API。 代码:- CGAffineTransform transform = C
我试图理解为什么我只看到我的一个 CGPathAddArc。 代码: var r: CGRect = self.myView.bounds var lay: CAShapeLayer = CAS
问题:也许 CGMutablePathRef 已经被创建和设置,但也许还没有。 我现在在 -dealloc 中做的是: if (path != NULL) { CGPathRelease(pa
我已启用静态分析器,但它告诉我在该执行路径的末尾该对象未被释放,因此可能导致内存泄漏。但是,我将对创建对象的引用传递给另一个将释放它的类。我想知道是否有方法或关键字告诉编译器我稍后会释放这个对象。 我
我是一名优秀的程序员,十分优秀!