custom-painter

手撸一个绘画 demo

好久没更博了,主要是由于项目原因,时间上实在不允许。期间有两三次记录的想法,都因为时间搁浅了。忙里偷闲,趁这个时间手撸一个画画的 demo,这个 demo 支持的功能:笔,蜡笔,橡皮,以及常见的图形。

技术选型

iOS绘图的方式还是很多样的,系统提供了我们 Core Graphics、QuartzCore和 OpenGL ES 等。如果你的需求对绘图有较高要求,比如支持压感,则需要 OpenGL ES 偏底层的库来实现。如果需求比较简单,可以利用 iOS 给我们封装好的Core Graphics。其中常见的方法即在drawRect方法中开启上下文进行绘制。但是其中的弊病即内存会根据drawRect画布的大小来开辟内存空间,这也就是可能会造成内存问题。如果需求只是绘制少量的简单图形。则可以利用在drawRect中实现,但是我们这次的绘画 demo 会频繁的在屏幕上绘制,当然性能因素也是一大方面。则此方案暂时不考虑。在 QuartzCore 库中,采用 CAShapeLayer来去绘制。

显示评论