在c#windows应用程序中动画图像的最简单方法

时间:2012-10-31 08:54:54

标签: c# image animation slideshow windows-applications

我有一个Windows应用程序,可以在发布到Web服务器之前预览图像列表,而无需使用WPF我需要在用户按下一个或上一个按钮时对图片进行动画处理(滑动或淡入淡出或淡出) / p>

由于 哈姆扎

1 个答案:

答案 0 :(得分:4)

您可以使用ImageAnimator

为图像设置动画

示例:

using System;
using System.Drawing;

using System.Windows.Forms;

public class animateImage : Form 
{

    //Create a Bitmpap Object.
    Bitmap animatedImage = new Bitmap("SampleAnimation.gif");
    bool currentlyAnimating = false;

    //This method begins the animation.
    public void AnimateImage() 
    {
        if (!currentlyAnimating) 
        {

            //Begin the animation only once.
            ImageAnimator.Animate(animatedImage, new EventHandler(this.OnFrameChanged));
            currentlyAnimating = true;
        }
    }

    private void OnFrameChanged(object o, EventArgs e) 
    {

        //Force a call to the Paint event handler.
        this.Invalidate();
    }

    protected override void OnPaint(PaintEventArgs e) 
    {

        //Begin the animation.
        AnimateImage();

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

        //Draw the next frame in the animation.
        e.Graphics.DrawImage(this.animatedImage, new Point(0, 0));
    }