可可 – lockFocus和unlockFocus实际上做什么?

可可 – lockFocus和unlockFocus实际上做什么?,第1张

概述警告:我是可可新手. 我正在阅读Hillegass的“可可编程Mac OS X”. 在第301页上写道: To make the drawing appear on the image instead of on the screen, you must first lock focus on the image. When the drawing is complete, you must un 警告:我是可可新手.

我正在阅读Hillegass的“可可编程Mac OS X”.

在第301页上写道:

To make the drawing appear on the image instead of on the screen,you must first lock focus on the image. When the drawing is complete,you must unlock focus.

我有代码,里面 – (voID)mouseDragged:(NSEvent *)NSVIEw的事件如下:

[resizedImage lockFocus];[sourceImage drawInRect: NSMakeRect(0,resizeWIDth,resizeHeight) fromrect: NSMakeRect(0,originalSize.wIDth,originalSize.height) operation: NSCompositeSourceOver fraction: 1.0];[resizedImage unlockFocus];

没有锁/解锁,这不工作,但我仍然不明白是什么发生了.

我看到第二行代码没有提到resizedImage,所以这意味着当我使用lockFocus它确保发生的任何’绘图’发生在那里?有人可以更好的解释这个吗?

解决方法 绘图需要“图形上下文”.您会注意到,与Core Graphics不同,AppKit绘图方法中没有一个参数指定绘图结束的位置.相反,目的地全局存储为[NSGraphicsContext currentContext].所有AppKit绘图方法都会影响当前上下文.

-lockFocus(在图像和视图上)的主要目的是设置图形上下文,以便您的绘图最终到达您想要的位置.

总结

以上是内存溢出为你收集整理的可可 – lockFocus和unlockFocus实际上做什么?全部内容,希望文章能够帮你解决可可 – lockFocus和unlockFocus实际上做什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1026817.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存