我有兴趣创建一个可以保存双精度值的 NSImageRep 子类。标准的 NSBitmapImageRep 可以保存单精度浮点数,但会阻塞双精度数。我喜欢 NSBitmapImageRep 公开数据缓冲区以进行操作,并且我希望保留在适当位置操作数据的能力,而不是操作需要将其转换为图像以进行显示的单独缓冲区。
我认为子类化是相当直接的,除了我不确定如何处理最基本的部分:绘制图像。文档将 -draw 列为我需要实现的方法,这是有道理的,但是绘制位图的最佳方法是什么?
我看到一个犹豫的建议是画很多小矩形,大概每个像素一个: 如何为 NSImage 实现自定义图像表示
有没有更有效的方法?我已经查看并找不到带有位图数据的自定义 NSImageRep 的工作示例——大多数示例使用矢量数据。
另外,我觉得有趣的是实现的方法是简单的-draw,而不是任何形式的有界绘图。有没有办法确定 NSImageRep 中的当前剪辑区域是什么,或者避免绘制不需要的图像部分?