Martin T. H. Sandsmark c60e77c048 Add support for modern Gimp images/XCF files
We now support up to and including version 11 of the XCF format, earlier
it only supported version 1 (from 1997, according to the XCF spec).

Biggest difference seems to be that they changed to 64bit for offsets
from version 11 and upwards, otherwise it's mostly just newer enum
values and theoretically major stuff that we don't really need to care
about to get a thumbnail (e. g. linear vs. perceptual RGB).

We still don't support all features, but now it handles that more
gracefully and should at least create thumbnails that are usable. It
should also be easier to update in the future if/when there comes new
versions.

Also added a test file created with the latest version of Gimp
(2.10.18).

Reviewed By: aacid

Differential Revision: https://phabricator.kde.org/D25937
2020-04-13 14:52:33 +02:00
2017-10-15 20:24:32 +02:00
2016-12-06 19:06:09 +01:00
2015-08-06 00:57:14 +02:00

KImageFormats

Plugins to allow QImage to support extra file formats.

Introduction

This framework provides additional image format plugins for QtGui. As such it is not required for the compilation of any other software, but may be a runtime requirement for Qt-based software to support certain image formats.

Formats

The following image formats have read-only support:

  • Gimp (xcf)
  • OpenEXR (exr)
  • Photoshop documents (psd)
  • Sun Raster (ras)

The following image formats have read and write support:

  • Encapsulated PostScript (eps)
  • Personal Computer Exchange (pcx)
  • SGI images (rgb, rgba, sgi, bw)
  • Softimage PIC (pic)
  • Targa (tga): supports more formats than Qt's version
  • XView (xv)

Contributing

See the QImageIOPlugin documentation for information on how to write a new plugin.

The main difference between this framework and the qimageformats module of Qt is the license. As such, if you write an imageformat plugin and you are willing to sign the Qt Project contributor agreement, it may be better to submit the plugin directly to the Qt Project.

Note that the imageformat plugins provided by this module also provide a desktop file. This is for the benefit of KImageIO in the KDE4 Support framework.

Duplicated Plugins

The TGA plugin supports more formats than Qt's own TGA plugin; specifically, the one provided here supports indexed, greyscale and RLE images (types 1-3 and 9-11), while Qt's plugin only supports type 2 (RGB) files.

The code for this cannot be contributed upstream directly because of licensing. If anyone were willing to write fresh code to improve Qt's TGA plugin, it would allow the TGA plugin in this framework to be removed.

License

This framework is licensed under the LGPLv2.1.

The CMake code in this framework is licensed under the BSD license.

Languages
C++ 68.8%
Roff 26%
PostScript 3.6%
CMake 1.5%
C 0.1%