library: libGraf
#include "TAttImage.h"

TAttImage


class description - header file - source file
viewCVS header - viewCVS source

class TAttImage

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
public:
TAttImage()
TAttImage(const TAttImage&)
TAttImage(TAttImage::EImageQuality lquality, UInt_t lcompression, Bool_t constRatio)
virtual~TAttImage()
static TClass*Class()
voidCopy(TAttImage& attline) const
virtual voidEditorClosed()
Bool_tGetConstRatio() const
UInt_tGetImageCompression() const
TAttImage::EImageQualityGetImageQuality() const
virtual const TImagePalette&GetPalette() const
virtual TClass*IsA() const
Bool_tIsPaletteEnabled() const
TAttImage&operator=(const TAttImage&)
virtual voidResetAttImage(Option_t* option = "")
virtual voidSaveImageAttributes(ostream& out, const char* name, TAttImage::EImageQuality qualdef = kImgDefault, UInt_t comprdef = 0, Bool_t constRatiodef = kTRUE)
virtual voidSetConstRatio(Bool_t constRatio = kTRUE)
virtual voidSetImageCompression(UInt_t lcompression)
virtual voidSetImageQuality(TAttImage::EImageQuality lquality)
virtual voidSetPalette(const TImagePalette* palette)
virtual voidSetPaletteEnabled(Bool_t on = kTRUE)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStartPaletteEditor()
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)

Data Members

public:
enum EImageQuality { kImgDefault
kImgPoor
kImgFast
kImgGood
kImgBest
};
protected:
TAttImage::EImageQualityfImageQuality*OPTION={GetMethod="GetImageQuality";SetMethod="SetImageQuality";Items=(kImgDefault="Default",kImgPoor="Poor",kImgFast="Fast",kImgGood="Good",kImgBest="Best")}*
UInt_tfImageCompressioncompression [0 .. 100] 0: no compression
Bool_tfConstRatiokeep aspect ratio of image on the screen
TImagePalettefPalettecolor palette for value -> color conversion
TPaletteEditor*fPaletteEditor! GUI to edit the color palette
Bool_tfPaletteEnabled! kTRUE - palette is drawn on the image

Class Description

                                                                      
  TAttImage                                                           
                                                                      
  Image attributes are:                                               
    Image Quality (see EImageQuality for the list of qualities)       
    Compression defines the compression rate of the color data in the 
                internal image structure. Speed and memory depends    
                on this rate, but not the image display itself        
                0: no compression;  100: max compression              
    Radio Flag: kTRUE  the x/y radio of the displayed image is always 
                       identical to the original image                
                kFALSE the x and y size of the displayed image depends
                       on the size of the pad                         
    Palette:    Defines the conversion from a pixel value to the      
                screen color                                          
                                                                      
  This class is used (in general by secondary inheritance)            
  by some other classes (image display).                              
                                                                      
                                                                      
  TImagePalette                                                       
                                                                      
  A class to define a conversion from pixel values to pixel color.    
  A Palette is defined by some anchor points. Each anchor point has   
  a value between 0 and 1 and a color. An image has to be normalized  
  and the values between the anchor points are interpolated.          
  All member variables are public and can be directly manipulated.    
  In most cases the default operator will be used to create a         
  TImagePalette. In this case the member arrays have to be allocated  
  by an application and will be deleted in the destructor of this     
  class.                                                              
                                                                      
  We provide few predifined palettes:                                 
                                                                      
    o gHistImagePalette - palette used in TH2::Draw("col")            
                                                                      
    o gWebImagePalette                                                
       The web palette is a set of 216 colors that will not dither or 
       shift on PCs or Macs. Browsers use this built-in palette when  
       they need to render colors on monitors with only 256 colors    
       (also called 8-bit color monitors).                            
       The 6x6x6 web palette provides very quick color index lookup   
       and can be used for good quality convertion of images into     
       2-D histograms.                                                
                                                                      
                                                                      
  TPaletteEditor                                                      
                                                                      
  This class provides a way to edit the palette via a GUI.            
                                                                      

TAttImage()
 TAttImage default constructor.
 Calls ResetAttImage to set the attributes to a default state.
TAttImage(EImageQuality lquality, UInt_t lcompression, Bool_t constRatio)
 TAttImage normal constructor.
 Image attributes are taken from the argument list
    qualtity     : must be one of EImageQuality (kImgDefault is same as
                   kImgGood in the current implementation)
    lcompression : defines the compression rate of the color data in the
                   image. Speed and memory depends on this rate, but not
                   the image display itself
                   0: no compression;  100: max compression
    constRatio   : keeps the aspect ratio of the image constant on the
                   screen (in pixel units)
~TAttImage()
 TAttImage destructor.
void Copy(TAttImage &attimage)
 Copy this image attributes to a new attimage.
void ResetAttImage(Option_t *)
 Reset this image attributes to default values.
 Default values are:
    quality:     kImgPoor, (no smoothing while the image is zoomed)
    compression: 0 (no compression)
    constRatio:  kTRUE
    palette:     a default rainbow palette
void SaveImageAttributes(ostream &out, const char *name, EImageQuality qualdef, UInt_t comprdef, Bool_t constRatiodef)
 Save image attributes as C++ statement(s) on output stream, but
 not the palette.
void SetConstRatio(Bool_t constRatio)
 Set (constRatio = kTRUE) or unset (constRadio = kFALSE) the ratio flag.
 The aspect ratio of the image on the screen is constant if the ratio
 flag is set. That means one image pixel is allways a square on the screen
 independent of the pad size and of the size of the zoomed area.
void SetPalette(const TImagePalette *palette)
 Set a new palette for the image. If palette == 0 a default
 rainbow color palette is used.
void StartPaletteEditor()
 Opens a GUI to edit the color palette.
TImagePalette & operator=(const TImagePalette &palette)
TAttImage()
Bool_t GetConstRatio()
{ return fConstRatio; }
UInt_t GetImageCompression()
{ return fImageCompression; }
EImageQuality GetImageQuality()
{ return fImageQuality; }
const TImagePalette & GetPalette()
{ return fPalette; }
void SetPaletteEnabled(Bool_t on = kTRUE)
{ fPaletteEnabled = on; }
void SetImageCompression(UInt_t lcompression)
{ fImageCompression = (lcompression > 100) ? 100 : lcompression; }
void SetImageQuality(EImageQuality lquality)
{ fImageQuality = lquality;}
void EditorClosed()
{ fPaletteEditor = 0; }
Bool_t IsPaletteEnabled()
{ return fPaletteEnabled; }

Author: Reiner Rohlfs 24/03/02
Last update: root/graf:$Name: $:$Id: TAttImage.cxx,v 1.10 2006/07/03 16:10:44 brun Exp $
Copyright (C) 2001-2001, Rene Brun, Fons Rademakers and Reiner Rohlfs *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.