library: libGraf #include "TAttImage.h"

# TAttImage

class description - source file - inheritance tree (.pdf)

## class TAttImage

| Inheritance Chart:
`TAttImage` |
<- |
`TImage` | <- |
`TASImage` |

        public:

                                       TAttImage()
                                       TAttImage(TAttImage::EImageQuality lquality, UInt_t lcompression, Bool_t constRatio)
                                       TAttImage(const TAttImage&)
                               virtual ~TAttImage()
                        static TClass* Class()
                                  void Copy(TAttImage& attline) const
                          virtual void EditorClosed()
                                Bool_t GetConstRatio() const
                                UInt_t GetImageCompression() const
              TAttImage::EImageQuality GetImageQuality() const
          virtual const TImagePalette& GetPalette() const
                       virtual TClass* IsA() const
                                Bool_t IsPaletteEnabled() const
                            TAttImage& operator=(const TAttImage&)
                          virtual void ResetAttImage(Option_t* option = "")
                          virtual void SaveImageAttributes(ofstream& out, const char* name, TAttImage::EImageQuality qualdef = kImgDefault, UInt_t comprdef = 0, Bool_t constRatiodef = kTRUE)
                          virtual void SetConstRatio(Bool_t constRatio = kTRUE)
                          virtual void SetImageCompression(UInt_t lcompression)
                          virtual void SetImageQuality(TAttImage::EImageQuality lquality)
                          virtual void SetPalette(const TImagePalette* palette)
                          virtual void SetPaletteEnabled(Bool_t on = kTRUE)
                          virtual void ShowMembers(TMemberInspector& insp, char* parent)
                          virtual void StartPaletteEditor()
                          virtual void Streamer(TBuffer& b)
                                  void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

          TAttImage::EImageQuality fImageQuality      *OPTION={GetMethod="GetImageQuality";SetMethod="SetImageQuality";Items=(kImgDefault="Default",kImgPoor="Poor",kImgFast="Fast",kImgGood="Good",kImgBest="Best")}*
                            UInt_t fImageCompression  compression [0 .. 100] 0: no compression
                            Bool_t fConstRatio        keep aspect ratio of image on the screen
                     TImagePalette fPalette           color palette for value -> color conversion
                   TPaletteEditor* fPaletteEditor     ! GUI to edit the color palette
                            Bool_t fPaletteEnabled    ! kTRUE - palette is drawn on the image

        public:

          static const TAttImage::EImageQuality kImgDefault
          static const TAttImage::EImageQuality kImgPoor
          static const TAttImage::EImageQuality kImgFast
          static const TAttImage::EImageQuality kImgGood
          static const TAttImage::EImageQuality kImgBest

## 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) const

     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(ofstream &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.

### Inline Functions

                              Bool_t GetConstRatio() const
                              UInt_t GetImageCompression() const
            TAttImage::EImageQuality GetImageQuality() const
                const TImagePalette& GetPalette() const
                                void SetPaletteEnabled(Bool_t on = kTRUE)
                                void SetImageCompression(UInt_t lcompression)
                                void SetImageQuality(TAttImage::EImageQuality lquality)
                                void EditorClosed()
                              Bool_t IsPaletteEnabled() const
                             TClass* Class()
                             TClass* IsA() const
                                void ShowMembers(TMemberInspector& insp, char* parent)
                                void Streamer(TBuffer& b)
                                void StreamerNVirtual(TBuffer& b)
                           TAttImage TAttImage(const TAttImage&)
                          TAttImage& operator=(const TAttImage&)

Author: Reiner Rohlfs 24/03/02
Last update: root/graf:$Name: $:$Id: TAttImage.cxx,v 1.8 2005/06/21 17:09:26 brun Exp $
Copyright (C) 2001-2001, Rene Brun, Fons Rademakers and Reiner Rohlfs *