VB.NET动画Gif到Bitmap,同时保留Anim

时间:2015-03-24 15:14:17

标签: vb.net animation bitmap png gif

我正在使用Visual Basic进行编码。不过我有点问题。

对于我的程序,我需要分层GIF / PNG。我已经通过使用.DrawImage()完成了这项工作。但是,GIF是无生命和静态的。

我尝试使用ImageAnimator类,但是,我有点黑暗。我尝试使用MSDN中的示例代码,但它对我不起作用。这可能是因为我不太了解它。

Private animatedImage As New Bitmap(My.Resources._a_takingnotes)
Private currentlyAnimating As Boolean = False


Public Sub AnimateImage()
    If Not currentlyAnimating Then

        'Begin the animation only once.
        ImageAnimator.Animate(animatedImage, _
        New EventHandler(AddressOf Me.OnFrameChanged))
        currentlyAnimating = True
    End If
End Sub

Private Sub OnFrameChanged(ByVal o As Object, ByVal e As EventArgs)

    'Force a call to the Paint event handler. 
    Me.Invalidate()
End Sub

Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)

    'Begin the animation.
    AnimateImage()

    'Get the next frame ready for rendering.
    ImageAnimator.UpdateFrames()

    'Draw the next frame in the animation.
    e.Graphics.DrawImage(Me.animatedImage, New Point(0, 0))
    PictureBox2.Image = Nothing
    PictureBox2.Image = animatedImage
End Sub

以上是应该为"(a)takingnotes.gif"制作动画的代码。 (称为资源)。

它返回PictureBox中第一帧的静态图像。

谢谢!

编辑:在加载时调用AnimateImage(),这不起作用。我还测试了每个Timer Tick,它也没有用。

0 个答案:

没有答案