objective-c - Mac OS X 10.8 : Replacement for Lock/UnlockPixels() for the cocoa applications

标签 objective-c macos cocoa macos-carbon

Lock/UnlockPixels() 函数位于 QD/QDOffScreen.hApplicationServices 64 位应用程序已弃用框架,其中 Carbon不支持。除了此 API 之外,同一 header 中还有其他 API 也已弃用,例如 DisposeGWorld() 和 NewGWorld()。

我正在致力于使应用程序脱碳,该应用程序必须在 64 位模式下成功编译。虽然这些 API 不是 Carbon 框架的一部分,但它们仅适用于 32 位模式。 Apple 对于 Cocoa 应用程序中的这些 API 是否有任何替代或替代建议?

最佳答案

如果您的应用去碳化,则根本不要使用 QuickDraw - 正如之前提到的,它已被弃用。您甚至不应该寻找 1:1 的替代品,因为 Cocoa 中的模型非常不同。

你应该拥抱Cocoa的绘画方式:
<强> Introduction to Cocoa Drawing Guide

您可以直接绘制到 NSImage 对象,而不是考虑 GWorlds,而是使用 NSBitmapImageRep 或其他现代方法。

关于objective-c - Mac OS X 10.8 : Replacement for Lock/UnlockPixels() for the cocoa applications,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21215643/

相关文章:

c++ - Qt 应用程序未运行

ios - 在编辑第一个 UITextField 时,如何将 UITableView 滚动到第二个 UITextField?

swift - 在 AppKit View 中嵌入 SwiftUI View

ios - 在 Xcode 6 iOS 8 中使用框架中的 Storyboard

regex - 存在多个/不完整匹配项时 'grep -w -f"的行为

objective-c - 从 NSString 中删除前缀

cocoa - NSTableView 中的自定义单元格

objective-c - OSX/ cocoa : Listening for system wide mouse drag events

objective-c - 进程使用的时间 CPU

ios - 如何运行事件指示器直到下载图像完成