我有一个将文本转换为表情符号的计划。但是,我不知道如何开始。这是我正在寻找的一些屏幕截图。
我的想法是,要实现上述结果,我们应该为每个字符保存字典,但问题是字典如何根据字符结构保存表情符号。
我建议您使用简单的位图技术。在第一步中,您构建一个黑白位图,其中包含与您想要的最终图像尺寸相同的书面文本。
在第二步中,您将此图像“划分”为一个光栅,例如比最终的表情符号小 20% 以创建重叠效果。
在每个光栅矩形中计算黑色像素。在那里你会得到一个介于 0-100% 黑色像素之间的百分比。如果此百分比(例如超过 40%),则会在此矩形的中心放置一个随机表情符号。
你可以通过添加少量的随机位移来改善效果。
我实现了这个并且效果很好。我可以通过一些小的优化进一步改善图像:
例如,如果我得到 1000
,我将它移到左上角。如果我得到 1010
到左边。
以下示例代码演示了所示方法,没有在“最终想法”部分进行调整。它是用 Swift 为 Cocoa 应用程序编写的。您会看到一个简单应用程序的应用程序委托(delegate),它在主窗口中提供了一个文本字段和一个 ImageView 。
您可以完成将文本字段和 ImageView 添加到主窗口的应用程序,并将值绑定(bind)到 socket textField
和 imageView
。您还必须将文本字段值绑定(bind)到 parameterText
属性。
应用程序的输出如下所示:
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
@IBOutlet weak var textField: NSTextField!
@IBOutlet weak var imageView: NSImageView!
var updateTimer: NSTimer = NSTimer()
let canvasSize = CGSize(width: 1024, height: 768)
let canvasPadding: CGFloat = 32.0
let emojiSize = 20.0
let emojiSet: [NSString] = ["
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/)
Powered by Discuz! X3.4