All Projects → Skycoder42 → QtApng

Skycoder42 / QtApng

Licence: BSD-3-Clause License
An apng image plugin for Qt to support animated PNGs

Programming Languages

C++
36643 projects - #6 most used programming language
QMake
1090 projects
CMake
9771 projects

Projects that are alternatives of or similar to QtApng

Qtautoupdater
A Qt library to automatically check for updates and install them
Stars: ✭ 459 (+512%)
Mutual labels:  qt, module
Moduler
Android Moduler 组件化demo
Stars: ✭ 33 (-56%)
Mutual labels:  module
qredis
Redis GUI using Qt & Python
Stars: ✭ 42 (-44%)
Mutual labels:  qt
vbl
A collection of useful Bash modules to simplify everyday programming
Stars: ✭ 15 (-80%)
Mutual labels:  module
qSIP
VoIP/SIP client (softphone)
Stars: ✭ 20 (-73.33%)
Mutual labels:  qt
psi-plus-snapshots
Codebase snapshots for Psi+ project
Stars: ✭ 47 (-37.33%)
Mutual labels:  qt
JlContentFieldsFilter
Модуль фильтрации материалов Joomla по дополнительным полям
Stars: ✭ 20 (-73.33%)
Mutual labels:  module
ApngDrawable
ApngDrawable for android, high efficiency, low memory
Stars: ✭ 32 (-57.33%)
Mutual labels:  apng
text
🚀 Material Design text editor
Stars: ✭ 73 (-2.67%)
Mutual labels:  qt
QtOIIO
Qt Image IO plugin based on OpenImageIO.
Stars: ✭ 34 (-54.67%)
Mutual labels:  qt
surge
Network toolbox Surge rules, modules and configuration files, For pure self use.
Stars: ✭ 207 (+176%)
Mutual labels:  module
screenshotgun
Open cross-platform screenshoter with cloud support and server part
Stars: ✭ 23 (-69.33%)
Mutual labels:  qt
terraform-aws-elasticache
Terraform module to create Elasticache Cluster and replica for Redis and Memcache.
Stars: ✭ 19 (-74.67%)
Mutual labels:  module
SWMM-EPANET User Interface
User interface for the Stormwater-Management-Model
Stars: ✭ 90 (+20%)
Mutual labels:  qt
tf-cpp-pose-estimation
Tensorflow C++ examples for Visual Studio. Features Pose Estimation and various techniques to utilize the Tensorflow C++ interface
Stars: ✭ 23 (-69.33%)
Mutual labels:  qt
dannyAVgleDownloader
知名網站avgle下載器
Stars: ✭ 27 (-64%)
Mutual labels:  qt
vania
A module which fairly distributes a list of arbitrary objects among a set of targets, considering weights.
Stars: ✭ 75 (+0%)
Mutual labels:  module
Embedded-IoT-Project
这是一个嵌入式物联网开源项目。以一个无线传感控制网络项目为实际案例,开源了一些无线控制模块和传感器模块。
Stars: ✭ 46 (-38.67%)
Mutual labels:  qt
tenplayer
Modern Music Player for Linux
Stars: ✭ 18 (-76%)
Mutual labels:  qt
lima-gui
Making a GUI for lima VM
Stars: ✭ 36 (-52%)
Mutual labels:  qt

QtApng

apng image plugin for Qt to support animated PNGs

CI build Codacy Badge AUR

Features

Enable the usage of apng images with Qt. The plugin adds the apng format as a new format for any Qt application, and thus supports loading of apng images via QMovie, AnimatedImage and other types.

Requirements

To build the plugin, libpng with the apng patch applied is required. By default the libpng provided by pkg-config is used for unix-like systems. If the library is not available, the project will compile a static library of libpng and embed it into the plugin. You can force this behaviour by running qmake with CONFIG += libpng_static

Embedded libpng/zlib

The project comes with a version of zlib and libpng (with the apng patch). They can be found in the src/3rdparty subfolder. They are automatically compiled into static libraries and used to link the apng plugin when neccessary. Please note that both libraries are compiled without any optimizations for architecture etc. If you wish to have those features, you can replace those two by your own versions.

Project Version License Project page
zlib 1.2.11 zlib-license https://www.zlib.net/
libpng 1.6.37 libpng-license http://www.libpng.org/pub/png/libpng.html
apng patch 1.6.37 libpng-license https://sourceforge.net/projects/libpng-apng/

Download/Installation

  1. Package Managers: The library is available via:
  2. Simply add my repository to your Qt MaintenanceTool (Image-based How-To here: Add custom repository):
    1. Start the MaintenanceTool from the commandline using /path/to/MaintenanceTool --addTempRepository <url> with one of the following urls (GUI-Method is currently broken, see QTIFW-1156) - This must be done every time you start the tool:
    2. A new entry appears under all supported Qt Versions (e.g. Qt > Qt 5.11 > Skycoder42 Qt modules)
    3. You can install either all of my modules, or select the one you need: Qt Apng Image Plugin
    4. Continue the setup and thats it! you can now use the module for all of your installed Kits for that Qt
  3. Download the compiled modules from the release page. Note: You will have to add the correct ones yourself and may need to adjust some paths to fit your installation! In addition to that, you will have to download the modules this one depends on as well. See Section "Requirements" below.
  4. Build it yourself! Note: This requires all build an runtime dependencies to be available (See Section "Requirements" below). If you don't have/need cmake, you can ignore the related warnings. To automatically build and install to your Qt installation, run:
    • Download the sources. Either use git clone or download from the releases. If you choose the second option, you have to manually create a folder named .git in the projects root directory, otherwise the build will fail.
    • qmake
    • make (If you want the tests/examples/etc. run make all)
    • make install

Usage

Simply use the default Qt classes like QImageReader, QMovie etc. and open the apng files just like you would open normal images/animations (like gif files)

Format Detection: Since the png format is already used by Qt, *.png files will not use the plugin. To load a png as animated, you can either rename the file to *.apng, or set the format explicitly

QMovie movie("path/to/image.png", "apng");
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].