library: libGraf #include "TImage.h"

# TImage

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

## class TImage : public TNamed, public TAttImage

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

        protected:

                 TImage(const char* file)
                 TImage()

        public:

                           TImage(const TImage& img)
                           TImage(UInt_t, UInt_t)
                   virtual ~TImage()
              virtual void Append(const TImage*, const char* = "+", const char* = "#00000000")
              virtual void BeginPaint(Bool_t = kTRUE)
              virtual void Bevel(Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0, const char* = "#ffdddddd", const char* = "#ff555555", UShort_t = 1, Bool_t = kFALSE)
              virtual void Blur(Double_t = 3, Double_t = 3)
            static TClass* Class()
          virtual TObject* Clone(const char*) const
              virtual void CopyArea(TImage*, Int_t, Int_t, UInt_t, UInt_t, Int_t = 0, Int_t = 0, Int_t = 3, TImage::EColorChan = kAllChan)
            static TImage* Create()
              virtual void Crop(Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0)
              virtual void CropPolygon(UInt_t, TPoint*)
              virtual void CropSpans(UInt_t, TPoint*, UInt_t*)
              virtual void DrawBox(Int_t, Int_t, Int_t, Int_t, const char* = "#000000", UInt_t = 1, Int_t = 0)
              virtual void DrawCellArray(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, UInt_t*)
              virtual void DrawCircle(Int_t, Int_t, Int_t, const char* = "#000000", UInt_t = 1)
              virtual void DrawCubeBezier(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, const char* = "#000000", UInt_t = 1)
              virtual void DrawDashLine(UInt_t, UInt_t, UInt_t, UInt_t, UInt_t, const char*, const char* = "#000000", UInt_t = 1)
              virtual void DrawEllips(Int_t, Int_t, Int_t, Int_t, Int_t, const char* = "#000000", UInt_t = 1)
              virtual void DrawEllips2(Int_t, Int_t, Int_t, Int_t, Int_t, const char* = "#000000", UInt_t = 1)
              virtual void DrawFillArea(UInt_t, TPoint*, const char* = "#000000", const char* = "0", UInt_t = 16, UInt_t = 16)
              virtual void DrawFillArea(UInt_t, TPoint*, TImage*)
              virtual void DrawLine(UInt_t, UInt_t, UInt_t, UInt_t, const char* = "#000000", UInt_t = 1)
              virtual void DrawPolyLine(UInt_t, TPoint*, const char* = "#000000", UInt_t = 1, TImage::ECoordMode = kCoordModeOrigin)
              virtual void DrawRectangle(UInt_t, UInt_t, UInt_t, UInt_t, const char* = "#000000", UInt_t = 1)
              virtual void DrawSegments(UInt_t, Segment_t*, const char* = "#000000", UInt_t = 1)
              virtual void DrawStraightEllips(Int_t, Int_t, Int_t, Int_t, const char* = "#000000", UInt_t = 1)
              virtual void DrawText(Int_t = 0, Int_t = 0, const char* = "", Int_t = 12, const char* = "0", const char* = "fixed", TImage::EText3DType = TImage::kPlain, const char* = "0", Float_t = 0)
              virtual void EndPaint()
              virtual void FillPolygon(UInt_t, TPoint*, const char* = "#000000", const char* = "0", UInt_t = 16, UInt_t = 16)
              virtual void FillPolygon(UInt_t, TPoint*, TImage*)
              virtual void FillRectangle(const char* = "0", Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0)
              virtual void FillSpans(UInt_t, TPoint*, UInt_t*, const char* = "#000000", const char* = "0", UInt_t = 16, UInt_t = 16)
              virtual void FillSpans(UInt_t, TPoint*, UInt_t*, TImage*)
              virtual void Flip(Int_t = 180)
              virtual void FloodFill(Int_t, Int_t, const char*, const char*, const char* = "0")
              virtual void FromPad(TVirtualPad*, Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0)
              virtual void FromWindow(Drawable_t, Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0)
           virtual UInt_t* GetArgbArray()
          virtual TArrayD* GetArray(UInt_t = 0, UInt_t = 0, TImagePalette* = gWebImagePalette)
            virtual UInt_t GetHeight() const
              virtual void GetImageBuffer(char**, int*, TImage::EImageFileTypes = TImage::kPng)
          virtual Pixmap_t GetMask()
          virtual TArrayL* GetPixels(Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0)
          virtual Pixmap_t GetPixmap()
           virtual TImage* GetScaledImage() const
           virtual UInt_t* GetScanline(UInt_t)
            virtual UInt_t GetWidth() const
              virtual void Gradient(UInt_t = 0, const char* = "#FFFFFF #000000", const char* = "0", Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0)
              virtual void Gray(Bool_t = kTRUE)
              virtual void HSV(UInt_t = 0, UInt_t = 360, Int_t = 0, Int_t = 0, Int_t = 0, Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0)
           virtual TClass* IsA() const
            virtual Bool_t IsEditable() const
            virtual Bool_t IsGray() const
            virtual Bool_t IsValid() const
              virtual void Merge(const TImage*, const char* = "alphablend", Int_t = 0, Int_t = 0)
              virtual void Mirror(Bool_t = kTRUE)
            static TImage* Open(const char* file, TImage::EImageFileTypes type = kUnknown)
            static TImage* Open(char** data)
            static TImage* Open(const char* name, const Double_t* imageData, UInt_t width, UInt_t height, TImagePalette* palette)
            static TImage* Open(const char* name, const TArrayD& imageData, UInt_t width, TImagePalette* palette = 0)
            static TImage* Open(const char* name, const TVectorD& imageData, UInt_t width, TImagePalette* palette = 0)
                   TImage& operator+=(const TImage& i)
                   TImage& operator/=(const TImage& i)
                   TImage& operator=(const TImage& img)
              virtual void Pad(const char* = "#FFFFFFFF", UInt_t = 0, UInt_t = 0, UInt_t = 0, UInt_t = 0)
              virtual void PaintImage(Drawable_t, Int_t, Int_t)
              virtual void PolyPoint(UInt_t, TPoint*, const char* = "#000000", TImage::ECoordMode = kCoordModeOrigin)
              virtual void PutPixel(Int_t, Int_t, const char* = "#000000")
              virtual void ReadImage(const char*, TImage::EImageFileTypes = TImage::kUnknown)
              virtual void Scale(UInt_t, UInt_t)
              virtual void SetEditable(Bool_t = kTRUE)
              virtual void SetImage(const Double_t*, UInt_t, UInt_t, TImagePalette* = 0)
              virtual void SetImage(const TArrayD&, UInt_t, TImagePalette* = 0)
              virtual void SetImage(const TVectorD&, UInt_t, TImagePalette* = 0)
              virtual void SetImage(Pixmap_t, Pixmap_t = 0)
            virtual Bool_t SetImageBuffer(char**, TImage::EImageFileTypes = TImage::kPng)
              virtual void ShowMembers(TMemberInspector& insp, char* parent)
              virtual void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)
              virtual void Tile(UInt_t, UInt_t)
              virtual void UnZoom()
              virtual void Vectorize(UInt_t = 256, UInt_t = 4, Int_t = 0)
              virtual void WriteImage(const char*, TImage::EImageFileTypes = TImage::kUnknown)
              virtual void Zoom(UInt_t, UInt_t, UInt_t, UInt_t)

### Data Members

        public:

          static const TImage::EImageFileTypes kXpm
          static const TImage::EImageFileTypes kZCompressedXpm
          static const TImage::EImageFileTypes kGZCompressedXpm
          static const TImage::EImageFileTypes kPng
          static const TImage::EImageFileTypes kJpeg
          static const TImage::EImageFileTypes kXcf
          static const TImage::EImageFileTypes kPpm
          static const TImage::EImageFileTypes kPnm
          static const TImage::EImageFileTypes kBmp
          static const TImage::EImageFileTypes kIco
          static const TImage::EImageFileTypes kCur
          static const TImage::EImageFileTypes kGif
          static const TImage::EImageFileTypes kTiff
          static const TImage::EImageFileTypes kXbm
          static const TImage::EImageFileTypes kFits
          static const TImage::EImageFileTypes kTga
          static const TImage::EImageFileTypes kXml
          static const TImage::EImageFileTypes kUnknown
              static const TImage::EText3DType kPlain
              static const TImage::EText3DType kEmbossed
              static const TImage::EText3DType kSunken
              static const TImage::EText3DType kShadeAbove
              static const TImage::EText3DType kShadeBelow
              static const TImage::EText3DType kEmbossedThick
              static const TImage::EText3DType kSunkenThick
              static const TImage::EText3DType kOutlineAbove
              static const TImage::EText3DType kOutlineBelow
              static const TImage::EText3DType kOutlineFull
              static const TImage::EText3DType k3DTypes
                static const TImage::ECharType kUTF8
                static const TImage::ECharType kChar
                static const TImage::ECharType kUnicode
                static const TImage::ETileType kStretch
                static const TImage::ETileType kTile
                static const TImage::ETileType kStretchY
                static const TImage::ETileType kStretchX
               static const TImage::ECoordMode kCoordModeOrigin
               static const TImage::ECoordMode kCoordModePrevious
               static const TImage::EColorChan kRedChan
               static const TImage::EColorChan kGreenChan
               static const TImage::EColorChan kBlueChan
               static const TImage::EColorChan kAlphaChan
               static const TImage::EColorChan kAllChan

## Class Description

     TImage

     Abstract interface to image processing library.
     It allows for the reading and writing of images in different
     formats, several image manipulations (scaling, tiling, merging,
     etc.) and displaying in pads.

TImage* Create()

     Create an image. Use ReadImage() or SetImage() to initialize the image.

TImage* Open(const char *file, EImageFileTypes type)

     Open a specified image file.

TImage* Open(const char *name, const Double_t *imageData, UInt_t width, UInt_t height, TImagePalette *palette)

     Open an image with the specified data in a Double_t array.

TImage* Open(const char *name, const TArrayD &imageData, UInt_t width, TImagePalette *palette)

     Open an image with the specified data in a TArrayD.

TImage* Open(const char *name, const TVectorD &imageData, UInt_t width, TImagePalette *palette)

     Open an image with the specified data in a TVectorD.

TImage* Open(char **data)

     create image from XPM data array

### Inline Functions

                   void ~TImage()
                 TImage TImage(const char* file)
                 TImage TImage()
                 TImage TImage(const TImage& img)
                TImage& operator=(const TImage& img)
                 TImage TImage(UInt_t, UInt_t)
               TObject* Clone(const char*) const
                   void ReadImage(const char*, TImage::EImageFileTypes = TImage::kUnknown)
                   void WriteImage(const char*, TImage::EImageFileTypes = TImage::kUnknown)
                   void SetImage(const Double_t*, UInt_t, UInt_t, TImagePalette* = 0)
                   void SetImage(const TArrayD&, UInt_t, TImagePalette* = 0)
                   void SetImage(const TVectorD&, UInt_t, TImagePalette* = 0)
                   void SetImage(Pixmap_t, Pixmap_t = 0)
                   void FromPad(TVirtualPad*, Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0)
                   void UnZoom()
                   void Zoom(UInt_t, UInt_t, UInt_t, UInt_t)
                   void Flip(Int_t = 180)
                   void Gray(Bool_t = kTRUE)
                 Bool_t IsGray() const
                   void Mirror(Bool_t = kTRUE)
                   void Scale(UInt_t, UInt_t)
                   void Tile(UInt_t, UInt_t)
                   void Crop(Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0)
                   void Pad(const char* = "#FFFFFFFF", UInt_t = 0, UInt_t = 0, UInt_t = 0, UInt_t = 0)
                   void Blur(Double_t = 3, Double_t = 3)
                   void Vectorize(UInt_t = 256, UInt_t = 4, Int_t = 0)
                   void HSV(UInt_t = 0, UInt_t = 360, Int_t = 0, Int_t = 0, Int_t = 0, Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0)
                   void Gradient(UInt_t = 0, const char* = "#FFFFFF #000000", const char* = "0", Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0)
                   void Merge(const TImage*, const char* = "alphablend", Int_t = 0, Int_t = 0)
                   void Append(const TImage*, const char* = "+", const char* = "#00000000")
                   void Bevel(Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0, const char* = "#ffdddddd", const char* = "#ff555555", UShort_t = 1, Bool_t = kFALSE)
                   void DrawText(Int_t = 0, Int_t = 0, const char* = "", Int_t = 12, const char* = "0", const char* = "fixed", TImage::EText3DType = TImage::kPlain, const char* = "0", Float_t = 0)
                   void BeginPaint(Bool_t = kTRUE)
                   void EndPaint()
                   void DrawLine(UInt_t, UInt_t, UInt_t, UInt_t, const char* = "#000000", UInt_t = 1)
                   void DrawDashLine(UInt_t, UInt_t, UInt_t, UInt_t, UInt_t, const char*, const char* = "#000000", UInt_t = 1)
                   void DrawBox(Int_t, Int_t, Int_t, Int_t, const char* = "#000000", UInt_t = 1, Int_t = 0)
                   void DrawRectangle(UInt_t, UInt_t, UInt_t, UInt_t, const char* = "#000000", UInt_t = 1)
                   void FillRectangle(const char* = "0", Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0)
                   void DrawPolyLine(UInt_t, TPoint*, const char* = "#000000", UInt_t = 1, TImage::ECoordMode = kCoordModeOrigin)
                   void PutPixel(Int_t, Int_t, const char* = "#000000")
                   void PolyPoint(UInt_t, TPoint*, const char* = "#000000", TImage::ECoordMode = kCoordModeOrigin)
                   void DrawSegments(UInt_t, Segment_t*, const char* = "#000000", UInt_t = 1)
                   void FillPolygon(UInt_t, TPoint*, const char* = "#000000", const char* = "0", UInt_t = 16, UInt_t = 16)
                   void FillPolygon(UInt_t, TPoint*, TImage*)
                   void CropPolygon(UInt_t, TPoint*)
                   void DrawFillArea(UInt_t, TPoint*, const char* = "#000000", const char* = "0", UInt_t = 16, UInt_t = 16)
                   void DrawFillArea(UInt_t, TPoint*, TImage*)
                   void FillSpans(UInt_t, TPoint*, UInt_t*, const char* = "#000000", const char* = "0", UInt_t = 16, UInt_t = 16)
                   void FillSpans(UInt_t, TPoint*, UInt_t*, TImage*)
                   void CropSpans(UInt_t, TPoint*, UInt_t*)
                   void CopyArea(TImage*, Int_t, Int_t, UInt_t, UInt_t, Int_t = 0, Int_t = 0, Int_t = 3, TImage::EColorChan = kAllChan)
                   void DrawCellArray(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, UInt_t*)
                   void FloodFill(Int_t, Int_t, const char*, const char*, const char* = "0")
                   void DrawCubeBezier(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, const char* = "#000000", UInt_t = 1)
                   void DrawStraightEllips(Int_t, Int_t, Int_t, Int_t, const char* = "#000000", UInt_t = 1)
                   void DrawCircle(Int_t, Int_t, Int_t, const char* = "#000000", UInt_t = 1)
                   void DrawEllips(Int_t, Int_t, Int_t, Int_t, Int_t, const char* = "#000000", UInt_t = 1)
                   void DrawEllips2(Int_t, Int_t, Int_t, Int_t, Int_t, const char* = "#000000", UInt_t = 1)
                   void SetEditable(Bool_t = kTRUE)
                 Bool_t IsEditable() const
                 UInt_t GetWidth() const
                 UInt_t GetHeight() const
                 Bool_t IsValid() const
                TImage* GetScaledImage() const
               TArrayL* GetPixels(Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0)
               TArrayD* GetArray(UInt_t = 0, UInt_t = 0, TImagePalette* = gWebImagePalette)
               Pixmap_t GetPixmap()
               Pixmap_t GetMask()
                UInt_t* GetArgbArray()
                UInt_t* GetScanline(UInt_t)
                   void GetImageBuffer(char**, int*, TImage::EImageFileTypes = TImage::kPng)
                 Bool_t SetImageBuffer(char**, TImage::EImageFileTypes = TImage::kPng)
                   void PaintImage(Drawable_t, Int_t, Int_t)
                   void FromWindow(Drawable_t, Int_t = 0, Int_t = 0, UInt_t = 0, UInt_t = 0)
                TImage& operator+=(const TImage& i)
                TImage& operator/=(const TImage& i)
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)

Author: Fons Rademakers 15/10/2001
Last update: root/graf:$Name: $:$Id: TImage.cxx,v 1.8 2005/06/26 23:36:52 rdm Exp $
Copyright (C) 1995-2001, Rene Brun and Fons Rademakers. *