You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
README
KDE Image I/O library --------------------- This library allows applications that use the Qt library (i.e. QImageIO, QImage, QPixmap and friends) to read and write images in extra formats. Current formats include: JPEG <read> <write> JPEG2000 <read> <write> XV <read> <write> EPS <read> <write> NETPBM <incomplete> PNG <read> <write, only with newer libraries> TIFF <read> TGA <read> <write> PCX <read> <write> SGI <read> <write> (images/x-rgb: *.bw, *.rgb, *.rgba, *.sgi) DDS <read> XCF <read> (Some example files are in kdenonbeta/kimgio_examples.) To use these formats, you only need to: 1. link the application with the libkio library 2. Include the <kimageio.h> header 3. call KImageIO::registerFormats() once, somewhere in your code before you load an image. Writing handlers ---------------- 0. Please read the documentation for the QImageIO class in the Qt documentation. 1. When writing handlers, there is a function naming convention; suppose, for example, we were writing PNG read and write handlers, we would name them void kimgio_png_read ( QImageIO * ); void kimgio_png_write( QImageIO * ); ie kimgio_<format>_<read/write> This should reduce the chance of identifier clashes with other code. 2. Remember that a given KDE application may try to load dozens of images at once such as when loading icons, or creating thumbnails. Also, it may well be loading them over a network connection. Therefore, - Avoid creating temporary files or allocating too much memory when decoding and encoding. Especially try to avoid firing off external programs. - Don't assume that the IODevice which is the source or target of the image data is pointing to a file on the local filesystem. Use the IODevice methods to read and write image data. - Check for file corruption or premature end of the image, especially before using values read from the file e.g. for memory allocations. 3. If you only have either a reader or the writer for a particular format, don't use NULL in QImageIO::defineIOHandler. Instead, write a stub function for the unimplemented handler which displays a message on standard output. This prevents kimgio-using programs dumping core when attempting to call the unimplemented handler. Yours in good faith and pedantry, Sirtaj Singh Kang <taj@kde.org>, 23 September 1998.