菜鸟教程小白 发表于 2022-12-11 19:36:17

ios - 如何获取动画 GIF 图像的当前图像?


                                            <p><p>我正在使用 <a href="https://github.com/bahlo/SwiftGif" rel="noreferrer noopener nofollow">SwiftGif</a>为我制作的 GIF 制作动画的框架,问题是我需要知道当前显示的是哪个图像。
该扩展使用 <code>UIImage.animatedImage(with images: , duration: TimeInterval) -> UIImage?</code> 来显示动画图像。</p>
<p>这是我加载 gif 的方式:</p>
<pre><code>spikes.loadGif(name: &#34;Trap&#34;)
</code></pre>
<p>这是我如何得到我想比较的图像:</p>
<pre><code>spikes.image.images
</code></pre>
<p>我知道这些解释很薄弱,但我找不到更多相关信息,但是如果可以帮助您,我可以为您提供更多信息。</p>
<p>如果您知道任何其他可能涉及我使用其他框架的解决方案,我也会接受。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>如果有人像我一样需要答案,我找到了办法。</p>

<ol>
<li>使用扩展的 loadGif() 方法加载 GIF</li>
<li>由于构成 GIF 的图像现在存储在 <code>spikes.image.images</code> 中,因此我将这些图像存储在另一个变量中</li>
<li>设置 <code>spikes.image = nil</code> 以取消 <code>loadGif()</code> 方法生成的动画</li>
<li>制作一个不断改变 View 实际图像的计时器</li>
</ol>

<p>它是这样的:</p>

<pre><code>spikes.loadGif(name: &#34;Trap&#34;, completion: { _ in
            self.spikesImages = self.spikes.image?.images
            self.spikes.image = nil
            self.spikes.image = self.spikesImages.first?.img
            self.animateSpikes()
      })

func animateSpikes() {
      Timer.scheduledTimer(withTimeInterval: 0.5, repeats: true, block: { _ in
            if let currentImage = self.spikesImages.first {
                self.spikes.image = currentImage
                self.spikesImages.append(currentImage)
                self.spikesImages.remove(at: 0)
            }
      })
    }
</code></pre>

<p>我很确定这不是最好的方法,但它确实有效</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何获取动画 GIF 图像的当前图像?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/43741598/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/43741598/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何获取动画 GIF 图像的当前图像?