当前位置:  开发笔记 > 编程语言 > 正文

如何使用Core Graphics绘制点?

如何解决《如何使用CoreGraphics绘制点?》经验,为你挑选了4个好方法。

我在Quartz中看到用于绘制线条和圆圈的API.但我想要做的就是指定(x,y)笛卡尔坐标以将像素着色为特定值.我怎么做?



1> 小智..:
CGContextFillRect(context, CGRectMake(x,y,1,1));



2> Jens Ayton..:

Quartz不是面向像素的API,其上下文不一定是像素缓冲区.如果要绘制像素图,请使用创建位图上下文CGBitmapContextCreate().您提供了一个可以直接操作的缓冲区,并且可以通过CGImage使用CGImageCreate()和绘制来自同一缓冲区创建一个缓冲区来复制到另一个上下文.



3> 小智..:

绘制一个非常小的椭圆/圆圈并填充它!

CGContextAddEllipseInRect(Context,(CGRectMake (x_dot, y_dot, 3.0, 3.0));
CGContextDrawPath(Context, kCGPathFill);
CGContextStrokePath(Context);

我正在使用此代码在虚线音乐笔记中创建一个小点(3x3像素).



4> Chad..:

在将线帽设置为kCGLineCapRound后,我得到了一个点(零长度线).默认的线帽没有长度,因此无法绘制.

一个点没有大小的论点是愚蠢的.线条没有宽度,但我们可以绘制(通过使用绘制状态的"线宽").一点应以完全相同的方式绘制,并且我相信它具有不同的线帽.

也许这种行为是新的?


并不意味着建议一个点有大小,只是因为它缺乏大小是一个无法绘制它的愚蠢借口.一条线(作为一个数学概念)没有宽度,但我们可以画得很好.使用圆形盖绘制"零长度线"会使屏幕具有线宽直径.圆形帽基本上提供"点直径"设置.但是,如果原始海报专门设置一个屏幕像素的颜色,则应该通过直接在位图上下文中设置值而不是基于路径的绘图例程来完成.
推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有