kdefx Library API Documentation

KPixmap Class Reference

Off-screen paint device with extended features. More...

#include <kpixmap.h>

Inheritance diagram for KPixmap:

QPixmap List of all members.

Public Types

enum  ColorMode {
  Auto, Color, Mono, LowColor,
  WebColor
}
enum  GradientMode { Horizontal, Vertical, Diagonal, CrossDiagonal }

Public Member Functions

 KPixmap ()
 Constructs a null pixmap.

 ~KPixmap ()
 Destructs the pixmap.

 KPixmap (const QPixmap &pix)
 Copies the QPixmap pix.

bool convertFromImage (const QImage &img, int conversion_flags)
 Converts an image and sets this pixmap.

bool convertFromImage (const QImage &img, ColorMode mode=WebColor)
 This is an overloaded member function, provided for convenience.

bool load (const QString &fileName, const char *format, int conversion_flags)
 Loads a pixmap from the file fileName.

bool load (const QString &fileName, const char *format=0, ColorMode mode=WebColor)
 This is an overloaded member function, provided for convenience.

bool checkColorTable (const QImage &image)
 Returns true if the image posesses a color table that matches the Icon palette or false otherwise.


Detailed Description

Off-screen paint device with extended features.

KPixmap has two new color modes, WebColor and LowColor, applicable to 8bpp displays.

In WebColor mode all images are dithered to the Netscape palette, even when they have their own color table. WebColor is the default mode for KPixmap so that standard applications can share the Netscape palette across the desktop.

In LowColor mode images are checked to see if their color table matches the KDE icon palette. If the color tables do not match, the images are dithered to a minimal 3x3x3 color cube. LowColor mode can be used to load icons, background images etc. so that components of the desktop which are always present use no more than 40 colors.

Author:
Mark Donohoe (donohoe@kde.org)
Version:
Id
kpixmap.h,v 1.27 2002/07/31 23:14:10 orlovich Exp

Definition at line 55 of file kpixmap.h.


Constructor & Destructor Documentation

KPixmap::KPixmap  )  [inline]
 

Constructs a null pixmap.

Definition at line 64 of file kpixmap.h.

KPixmap::~KPixmap  )  [inline]
 

Destructs the pixmap.

Definition at line 69 of file kpixmap.h.

KPixmap::KPixmap const QPixmap pix  ) 
 

Copies the QPixmap pix.

Definition at line 409 of file kpixmap.cpp.


Member Function Documentation

bool KPixmap::convertFromImage const QImage img,
int  conversion_flags
 

Converts an image and sets this pixmap.

The conversion_flags argument is a bitwise-OR from the following choices. The options marked (default) are the choice if no other choice from the list is included (they are zero):

Color/Mono preference

  • WebColor - If the image has depth 1 and contains only black and white pixels then the pixmap becomes monochrome. If the pixmap has a depth of 8 bits per pixel then the Netscape palette is used for the pixmap color table.
  • LowColor - If the image has depth 1 and contains only black and white pixels then the pixmap becomes monochrome. If the pixmap has a depth of 8 bits per pixel and the image does not posess a color table that matches the Icon palette a 3x3x3 color cube is used for the pixmap color table.
  • AutoColor (default) - If the image has depth 1 and contains only black and white pixels, then the pixmap becomes monochrome.
  • ColorOnly - The pixmap is dithered/converted to the native display depth.
  • MonoOnly - The pixmap becomes monochrome. If necessary, it is dithered using the chosen dithering algorithm.
Dithering mode preference, for RGB channels

  • DiffuseDither (default) - A high quality dither.
  • OrderedDither - A faster more ordered dither.
  • ThresholdDither - No dithering, closest color is used.
Dithering mode preference, for alpha channel

  • DiffuseAlphaDither - A high quality dither.
  • OrderedAlphaDither - A faster more ordered dither.
  • ThresholdAlphaDither (default) - No dithering.
Color matching versus dithering preference

  • PreferDither - Always dither 32-bit images when the image is being converted to 8-bits. This is the default when converting to a pixmap.
  • AvoidDither - Only dither 32-bit images if the image has more than 256 colours and it is being converted to 8-bits. This is the default when an image is converted for the purpose of saving to a file.
Passing 0 for conversion_flags gives all the default options.
Returns:
true if successful.

Reimplemented from QPixmap.

Definition at line 246 of file kpixmap.cpp.

References checkColorTable(), QImage::convertDepth(), QPixmap::convertFromImage(), QImage::createAlphaMask(), QPixmap::defaultDepth(), QPixmap::detach(), QImage::hasAlphaBuffer(), QImage::height(), QImage::isNull(), QPixmap::mask(), QImage::numColors(), QImage::setAlphaBuffer(), QPixmap::setMask(), and QImage::width().

Referenced by KPixmapEffect::blend(), KPixmapEffect::channelIntensity(), KPixmapEffect::contrast(), convertFromImage(), KPixmapEffect::desaturate(), KPixmapEffect::dither(), KPixmapEffect::fade(), KPixmapEffect::gradient(), KPixmapEffect::hash(), KPixmapEffect::intensity(), load(), KPixmapEffect::pattern(), KPixmapEffect::selectedPixmap(), KPixmapEffect::toGray(), and KPixmapEffect::unbalancedGradient().

bool KPixmap::convertFromImage const QImage img,
ColorMode  mode = WebColor
 

This is an overloaded member function, provided for convenience.

It differs from the above function only in what argument(s) it accepts.

Reimplemented from QPixmap.

Definition at line 224 of file kpixmap.cpp.

References convertFromImage().

bool KPixmap::load const QString fileName,
const char *  format,
int  conversion_flags
 

Loads a pixmap from the file fileName.

If format is specified, the loader attempts to read the pixmap using the specified format. If format is not specified (default), the loader reads a few bytes from the header to guess the file format.

See the convertFromImage() documentation for a description of the conversion_flags argument.

The QImageIO documentation lists the supported image formats and explains how to add extra formats.

Returns:
true if successful, or false if the pixmap could not be loaded.

Reimplemented from QPixmap.

Definition at line 187 of file kpixmap.cpp.

References convertFromImage(), QPixmap::detach(), QImageIO::image(), and QImageIO::read().

Referenced by load().

bool KPixmap::load const QString fileName,
const char *  format = 0,
ColorMode  mode = WebColor
 

This is an overloaded member function, provided for convenience.

It differs from the above function only in what argument(s) it accepts.

Reimplemented from QPixmap.

Definition at line 201 of file kpixmap.cpp.

References load().

bool KPixmap::checkColorTable const QImage image  ) 
 

Returns true if the image posesses a color table that matches the Icon palette or false otherwise.

An image with one color not found in the Icon palette is considered to be a match, since this extra color may be a transparent background.

Definition at line 314 of file kpixmap.cpp.

References QColor::blue(), QImage::colorTable(), QColor::green(), QImage::numColors(), and QColor::red().

Referenced by convertFromImage().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.4.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Sun Feb 27 22:14:38 2005 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001