objective-c - NSTextField/NSTextFieldCel 上文本内的阴影

标签 objective-c cocoa core-graphics shadow nstextfield

我已经尝试了一两天,尝试在 NSTextField 的文本内绘制阴影(并使前景色透明,因此您看到的只是文本内的阴影)。我还没有取得理想的、实际的结果。我在此方面取得的唯一成功是将文本转换为 NSBezerPath,从 NSTextFieldCell 的框架中减去它并使用 setClip 方法进行剪辑(addClip) code> 在这种情况下是不够的,它会保留绘制的背景)。不幸的是,将文本转换为 NSBezerPath 会使文本的边缘看起来参差不齐且过度拉直。有没有一种有效且体面的方法来使用 CoreGraphics 蒙版和剪辑来实现此目的,因为我无法实现此目的。

与我在 Xcode IDE 中寻找的效果非常相似,如果您没有打开调试 session 并转到调试器导航器,它会在子类 NSTextField 中显示“无调试 session ”,该子类绘制了里面有阴影的文本。这几乎就是我所追求的。任何关于从哪里开始以及如何做到这一点的见解都会很棒。

我当前代码的粘贴箱(工作,但次优,且不工作):http://pastebin.com/4pTv8ZWm

最佳答案

你玩过IB中NSTextField的shadow属性吗?您应该能够通过在文本上使用稍微偏移的阴影效果以及正确的 Alpha 透明度混合来获得非常接近的效果。

关于objective-c - NSTextField/NSTextFieldCel 上文本内的阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14841776/

相关文章:

ios - 如何通过调用 cgpathcreatecopybystrokingpath 创建描边路径而不创建副本?

objective-c - 如何在 objective-c 中的几个按钮中识别按钮按下

cocoa - 是否可以禁止NSTabView的切换

svg - Inkscape 导出到 Core 图形?

objective-c - "file.h"和 <file.h> import 语句之间的区别

cocoa - 如何在 NSTokenField 中传递indexofselecteditem

ios - 如何在core graphics ios中连续绘制曲线

ios - 将标题设置为 TableViewController - 初学者

ios - 如何判断指针指向的值何时为nil

ios - 如何在图像而不是整个 UIImageView 中画线?