我有一个字符串,例如“哈罗世界”和字体名称,例如“Courier”。我需要获得代表此字符串的多线条阵列。这些多线条将在 OpenGL 场景中显示 。
我的意思是,我需要把每封信 转换成一个或一个以上的 2D 聚线。
在iOS(目标-C或C++)中,我如何做到这一点?
我有一个字符串,例如“哈罗世界”和字体名称,例如“Courier”。我需要获得代表此字符串的多线条阵列。这些多线条将在 OpenGL 场景中显示 。
我的意思是,我需要把每封信 转换成一个或一个以上的 2D 聚线。
在iOS(目标-C或C++)中,我如何做到这一点?
您可以使用 Core Text 从文本和字体中获得路径。 有一种被称为 < code> CTFontCreatePathForGlyph code > 的核心文本方法, 将为您提供给定符号的路径。 使用该方法, 您就可以为您所有的 glyphs 获取路径 。
您应该查看 < a href=> http://www.codeproject.com/ articless// 109729/Low-level- text- rendering" rel=“ no following” > 这篇文章关于“ 低级别文本翻譯” a> 。 您也可以查看 < a href=" 的样本代码 http:// oleb. net/blog/2010/12/ animate- drawing- found- cgpath- with- chashadapelayer/" rel=“ nofol=nfollowing", 以查看如何获得文本路径( 使用核心动画绘制) 。
您仍然需要将路径转换为多边线( 因为路径可能包含弧和曲线, 而多边线只是点列表) 。
< a href=> "http://freetype.sourceforge.net/index2.html" rel="nofollow noreferrer" >FreeType 库 支持装入范围广泛的字体文件( TrueType, PostScript 等)。 FreeType 引擎可以装入字体, 并转换为位图, 但它也可以返回详细的字符信息 。
您可以使用 FT_ extline_Decompose
函数来选择 FT_ extline
, 并将其分解成其组成线、 弧和曲线。 您只需在 FT_ extline_ Funcs
中提供一系列函数指针, 这些指针将在提纲处理过程中被引用。 这些函数由您定义, 您可以简单地将其转换为适合您最合适的格式( 例如多线) 。
API参考文献:
请注意,如果您正在制造不经常更改的大块文本,则在每个框中制作和填充一系列曲线的成本相当昂贵。通常的解决方案是选择点大小,将所有所需的晶体变成纹理,并使用纹理地图集将字符串变成四角。
在字体上的 OpenGL FAQ 中张贴了一些有用的信息, 虽然他们也谈到使用 FreeType 。 纹理地图集技术值得阅读 :
For a basic app with nonconsumable in-app purchases, has anyone figured out best practices for using SKPaymentQueue s restoreCompletedTransactions? Observations I know it s recommended to always ...
I am trying to list the contents of Ringtones directory in a TableView, however, I am only getting the last file in the directory in ALL cells, instead of file per cell. This is my code: - (...
I have a UITextField that is a subview of a UITableViewCell. When my view loads, I want the text field to become first responder. I have a pointer to the text field in the table cell, so to do this I ...
I ve been working on adding in-app purchases and was able to create and test in-app purchases using Store Kit (yay!). During testing, I exercised my app in a way which caused the app to crash mid ...
In my app i have a bunch of data i store in the NSUserdefaults. This information consists of an NSObject (Object1) with NSStrings and NSNumbers and also 2 instances of yet another object (Object2). ...
Basically I m downloading images off of a webserver and then caching them to the disk, but before I do so I want to mask them. I m using the masking code everyone seems to point at which can be found ...
I m using this code to resize an image on the iPhone: CGRect screenRect = CGRectMake(0, 0, 320.0, 480.0); UIGraphicsBeginImageContext(screenRect.size); [value drawInRect:screenRect blendMode:...
Is there a simple way of allowing interaction with a button in a UIView that lies under another UIView - where there are no actual objects from the top UIView on top of the button? For instance, ...