65.9K
CodeProject 正在变化。 阅读更多。
Home

PngAnimation

starIconstarIconstarIconstarIconstarIcon

5.00/5 (8投票s)

2021年4月1日

公共领域

1分钟阅读

viewsIcon

7002

downloadIcon

744

为您的程序制作图像动画的最简单方法之一。

Sample Image - maximum width is 600 pixels

引言

通常,程序需要显示它当前正在执行某个操作。例如,正在加载项目,正在搜索设备,正在转换数据或正在生成新数据。在这种情况下,使用动画。最简单的方法之一是绘制一个看起来像这样的图形文件

帧从左到右以规律的时间间隔显示。

您可以自己创建这样的文件,也可以使用在线服务之一,例如 loading.io。也可以使用 APNG Disassembler 程序将一些 apng 文件拆分为单独的 png 文件。之后,使用图形编辑器,可以将它们手动组合成一个文件。

Using the Code

要创建动画,请执行以下操作

#include "PngAnimation.h"

PngAnimation m_Anim;
   …
if( !m_Anim.Create(NULL,IDB_PNG1,31) )
    return -1;   // error.
m_Anim.Start(m_hWnd, 50,50, ::GetSysColor(COLOR_WINDOW), 40,true);

PngAnimation 对象处理 png 文件。它创建一次,例如,在创建窗口时。接下来,您只需要调用 Start 函数。如果您将 false 作为 Start 的最后一个参数传递,那么在显示 png 文件所有部分之后,动画将停止。要重新启动它,您需要再次调用 Start 函数。

此外,颜色会传递给 Start 函数,该颜色用于填充 PngAnimation 占据的区域,然后再绘制它。

PngAnimation 对象不使用 MFC,可以在常规 Win32 API 应用程序中使用。

祝您好运!

历史

  • 2021年3月31日:初始版本
© . All rights reserved.