菜鸟教程小白 发表于 2022-12-13 10:42:47

ios - 如何将文本转换为表情符号?


                                            <p><p>我有一个将文本转换为表情符号的计划。但是,我不知道如何开始。这是我正在寻找的一些屏幕截图。</p>

<p> <img src="/image/N1CIu.png" alt="enter image description here"/>
<img src="/image/Y4NVz.png" alt="enter image description here"/> </p>

<p>我的想法是,要实现上述结果,我们应该为每个字符保存字典,但问题是字典如何根据字符结构保存表情符号。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我建议您使用简单的位图技术。在第一步中,您构建一个黑白位图,其中包含与您想要的最终图像尺寸相同的书面文本。</p>

<p> <img src="/image/EW1BS.png" alt="enter image description here"/> </p>

<p>在第二步中,您将此图像“划分”为一个光栅,例如比最终的表情符号小 20% 以创建重叠效果。</p>

<p> <img src="/image/ohG8n.png" alt="enter image description here"/> </p>

<p>在每个光栅矩形中计算黑色像素。在那里你会得到一个介于 0-100% 黑色像素之间的百分比。如果此百分比(例如超过 40%),则会在此矩形的中心放置一个随机表情符号。</p>

<p>你可以通过添加少量的随机位移来改善效果。</p>

<h2>最后的想法</h2>

<p>我实现了这个并且效果很好。我可以通过一些小的优化进一步改善图像:</p>

<ul>
<li>对于每个黑色 >40% 的矩形,我将此矩形分为四个区域(左上、右上、左下、右下)。 </li>
<li>如果其中一个区域有黑色像素,我将该区域计为 1,否则计为 0。</li>
<li>这会创建 16 种不同的模式。对于其中一些模式,我将表情符号从矩形的中心移得更远。</li>
</ul>

<p>例如,如果我得到 <code>1000</code>,我将它移到左上角。如果我得到 <code>1010</code> 到左边。</p>

<h2>示例代码</h2>

<p>以下示例代码演示了所示方法,没有在“最终想法”部分进行调整。它是用 Swift 为 Cocoa 应用程序编写的。您会看到一个简单应用程序的应用程序委托(delegate),它在主窗口中提供了一个文本字段和一个 ImageView 。</p>

<p>您可以完成将文本字段和 ImageView 添加到主窗口的应用程序,并将值绑定(bind)到 socket<code>textField</code> 和 <code>imageView</code>。您还必须将文本字段值绑定(bind)到 <code>parameterText</code> 属性。</p>

<p>应用程序的输出如下所示:</p>

<p> <img src="/image/x4UX7.png" alt="enter image description here"/> </p>

<pre><code>@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: = [&#34;
页: [1]
查看完整版本: ios - 如何将文本转换为表情符号?