QT之APNG插件应用

QT之APNG插件应用

简述

之前,关于apng的图片我只能在浏览器上展示,但是无意之间看到Github一篇关于apng插件在QT上的应用。https://github.com/Skycoder42/qapng。是关于Linux上的操作,今我在Windows上也跑起来了。花了我一点时间,去编译libpng的源代码,以及apng的插件补丁。关于什么是apng,为什么要用apng,这里我就不做太多叙述。具体的可以看下我之前写的 ,APNG在QT中的使用(一)https://blog.csdn.net/ly305750665/article/details/77972415

效果

这里写图片描述
这里写图片描述

这里,我们很明显的看到,apng的优势。上排png图,下排GIF图

我们在看看QQ上一些关于apng的应用。

这是QQ的:
这里写图片描述
这是我模仿QQ的:
这里写图片描述

代码

void apngDemo::initControl()
{
    for (int column = 0; column < 10; column++)
    {
        QString imageName = QString(":/apngDemo/Resources/Face/apng/%1.png").arg(column);
        QLabel* label = new QLabel(this);
        QMovie* apngMovie = new QMovie(imageName, "apng", this);
        apngMovie->start();
        label->setMovie(apngMovie);
        ui.gridLayout->addWidget(label, 0, column);
    }

    for (int column = 0; column < 10; column++)
    {
        QString imageName = QString(":/apngDemo/Resources/Face/%1.gif").arg(column);
        QLabel* label = new QLabel(this);
        QMovie* apngMovie = new QMovie(imageName, "apng", this);
        apngMovie->start();
        label->setMovie(apngMovie);
        ui.gridLayout->addWidget(label, 1, column);
    }
}

apnglib库编译步骤

1.https://downloads.sourceforge.net/sourceforge/libpng 下载libpng库

2.https://downloads.sourceforge.net/sourceforge/libpng-apng 下载libpng-apng的补丁文件

3.编译生成带支持apng格式的libpng库

4.重新编译https://github.com/Skycoder42/qapng 源码,生成相应qapng库文件

5.将生成的qapng库文件,拷贝到qt安装目录插件目录下,如下图
这里写图片描述

6.在我们对应的工程目录下,看我代码实现DEMO样例。

7.如果你编译嫌麻烦,或者不知道怎么编译的,可以加我QQ,直接要编译好的库文件。或者不懂的地方。

结尾

只为记录,只为分享! 愿所写能对你有所帮助。不忘记点个赞,谢谢~

~如果你编译嫌麻烦,或者不知道怎么编译的,可以加我QQ,直接要编译好的库文件。或者不懂的地方

猜你喜欢

转载自blog.csdn.net/ly305750665/article/details/79901723