如何使用Core Graphics绘制点?
我在Quartz中看到绘制线条和圆圈的API。 但是我想要做的就是指定(x,y)笛卡尔坐标来给像素着色一个特定的值。 我怎么做?
CGContextFillRect(context, CGRectMake(x,y,1,1));
Quartz不是一个面向像素的API,其上下文不一定是像素缓冲区。 如果要绘制像素图,请使用CGBitmapContextCreate()
创build一个位图上下文。 您提供了一个缓冲区,您可以直接操作该缓冲区,并可以使用CGImageCreate()
从相同缓冲区创buildCGImageCreate()
并将其绘制到另一个环境中。
在将线条大小设置为kCGLineCapRound之后,我得到了一个点(零长度线)。 默认的线帽没有长度,所以不能绘制。
一个点没有大小的论点是愚蠢的。 线没有宽度,但我们可以绘制这些(通过使用“线宽”从绘制状态)。 一点应该以完全相同的方式绘制,并且我相信它具有不同的线帽。
也许这个行为是新的?
画一个非常小的椭圆/圆形并填充它!
CGContextAddEllipseInRect(Context,(CGRectMake (x_dot, y_dot, 3.0, 3.0)); CGContextDrawPath(Context, kCGPathFill); CGContextStrokePath(Context);
我正在使用此代码在虚线音乐笔记中创build一个小点(3×3像素)。
您可以在所讨论的坐标上绘制1像素长度的线; 那应该完成你想要的。
我有同样的问题 – 我发现最好的解决scheme是类似于最后一个,但至less它不会留下看起来像一个“破折号”的东西…当然,应该确保x / y都> 0 。
CGContextFillRect(context,CGRectMake(x – 0.5,y – 0.5,1.0,1.0));
迅捷3:
UIRectFill(CGRect(x: x, y: y, width: 1, height: 1))