c# - 如何在 C# 中为图像设置动画

标签 c# image animation

我正在尝试使用 C# 为图像制作动画。基本上,我想拍摄一张图像并将其连接到另一个功能,并根据 1 到 10 的比例,使图像向上或向下移动。默认情况下,图像将从 1 开始。我已经搜索并找到了使形状在屏幕上上下移动的方法,但不是实际图像。图片很小,比如 60x60 像素。我觉得这应该很简单,但我还没有弄明白。我正在考虑将图像放在 Windows 窗体上,然后基本上让它沿着窗体的 y 轴向上或向下移动,但我希望它能够平滑移动。

好的,我能够将一个按钮连接到一个计时器功能上,并让按钮在屏幕上平滑地上下移动。该按钮必须在程序运行期间保持移动。但是,我很难编写一个函数来阻止计时器和图像(按钮)在图像到达某个位置后移动。否则,计时器将继续,图像(按钮)将移出屏幕。我试过弄乱 button.Location.Y 函数,但我还没有让它正常工作。有人可以建议吗?谢谢。哦,是的,一旦图像(按钮)到达 Y 位置 192 或 447,它应该停止移动。

我的例子:

    private void timer2_Tick(object sender, EventArgs e)
    {
        button2.Top = button2.Top + 1;
        if (button2.Location.Y == button2.Location.Y - 192)
        {
            timer2.Stop();
            timer3.Stop();
        }
        //if (timer_limit < 100)
        //{
        //    button2.Top = button2.Top + 1;
        //    timer_limit++; 
        //}
        //else
        //{
        //    timer2.Stop();
        //}
    }

最佳答案

有几种方法可以做到这一点。您可以只使用 PictureBox 并更改其 Location 属性。或者您可以在窗体的 OnPaint() 覆盖中绘制图像并将参数更改为 e.Graphics.DrawImage()。然后您必须调用 Invalidate() 以强制运行 OnPaint 方法。这是最便宜的方式。

关于c# - 如何在 C# 中为图像设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5543132/

相关文章:

c# - 如何设计一个 WPF 依赖属性来支持图像路径?

c# - 读取目标数组中包含 "gaps"的文件

c++ - 三次样条和 catmull 样条对图像的影响

PHP - 如何在没有 MySQL 的情况下订购图像

java - Android中制作进度条

javascript - 从下到上一个一个地动画两个文本

css - 单击标题时在 Knockout 中显示说明

c# - 二进制数组在asp.net中成像

c# - C#:0和1排列

c# - 在 C# 中使用图像路径从 Oracle 数据库中检索图像