Logo ROOT   6.08/07
Reference Guide
TImage.h
Go to the documentation of this file.
1 // @(#)root/graf:$Id$
2 // Author: Fons Rademakers, Reiner Rohlfs 15/10/2001
3 
4 /*************************************************************************
5  * Copyright (C) 2001-2001, Rene Brun, Fons Rademakers and Reiner Rohlfs *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TImage
13 #define ROOT_TImage
14 
15 
16 #ifndef ROOT_TNamed
17 #include "TNamed.h"
18 #endif
19 
20 #ifndef ROOT_TAttImage
21 #include "TAttImage.h"
22 #endif
23 #ifndef ROOT_GuiTypes
24 #include "GuiTypes.h"
25 #endif
26 #ifndef ROOT_TVectorDfwd
27 #include "TVectorDfwd.h"
28 #endif
29 
30 class TVirtualPad;
31 class TArrayD;
32 class TArrayL;
33 class TH2D;
34 class TPoint;
35 class TText;
36 
37 class TImage : public TNamed, public TAttImage {
38 
39 friend TImage operator+(const TImage &i1, const TImage &s2);
40 friend TImage operator/(const TImage &i1, const TImage &s2);
41 
42 public:
43  // Defines image file types
45  kXpm = 0,
64  };
65 
66  enum EText3DType {
67  kPlain = 0, // regular 2D text
78  };
79 
80  enum ECharType {
81  kUTF8 = 0,
82  kChar = 1,
84  };
85 
86  enum ETileType {
87  kStretch = 0,
91  };
92 
93  enum ECoordMode {
96  };
97 
98  enum EColorChan {
99  kRedChan = BIT(0),
104  };
105 
106 protected:
107  TImage(const char *file) : TNamed(file, "") { }
108  TImage() { }
109 
110 public:
111  TImage(const TImage &img) : TNamed(img), TAttImage(img) { }
112  TImage &operator=(const TImage &img)
113  { TNamed::operator=(img); TAttImage::operator=(img); return *this; }
114  TImage(UInt_t /*w*/, UInt_t /*h*/) : TNamed(), TAttImage() { }
115 
116  virtual ~TImage() { }
117 
118  // Cloning
119  virtual TObject *Clone(const char *) const { return 0; }
120 
121  // Input / output
122  virtual void ReadImage(const char * /*file*/, EImageFileTypes /*type*/ = TImage::kUnknown) {}
123  virtual void WriteImage(const char * /*file*/, EImageFileTypes /*type*/ = TImage::kUnknown) {}
124  virtual void SetImage(const Double_t * /*imageData*/, UInt_t /*width*/, UInt_t /*height*/, TImagePalette * /*palette*/ = 0) {}
125  virtual void SetImage(const TArrayD & /*imageData*/, UInt_t /*width*/, TImagePalette * /*palette*/ = 0) {}
126  virtual void SetImage(const TVectorD & /*imageData*/, UInt_t /*width*/, TImagePalette * /*palette*/ = 0) {}
127  virtual void SetImage(Pixmap_t /*pxm*/, Pixmap_t /*mask*/ = 0) {}
128 
129  // Create an image from the given pad. (See TASImage::FromPad)
130  virtual void FromPad(TVirtualPad * /*pad*/, Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*w*/ = 0, UInt_t /*h*/ = 0) {}
131 
132  // Restore the image original size. (See TASImage::UnZoom)
133  virtual void UnZoom() {}
134 
135  // Zoom the image. (See TASImage::Zoom)
136  virtual void Zoom(UInt_t /*offX*/, UInt_t /*offY*/, UInt_t /*width*/, UInt_t /*height*/) {}
137 
138  // Flip the image by a multiple of 90 degrees. (See TASImage::Flip)
139  virtual void Flip(Int_t /*flip*/ = 180) {}
140 
141  // Converts image to Gray. (See TASImage::Gray)
142  virtual void Gray(Bool_t /*on*/ = kTRUE) {}
143  virtual Bool_t IsGray() const { return kFALSE; }
144 
145  // Mirror the image. (See TASImage::Mirror)
146  virtual void Mirror(Bool_t /*vert*/ = kTRUE) {}
147 
148  // Scale the image. (See TASImage::Scale)
149  virtual void Scale(UInt_t /*width*/, UInt_t /*height*/) {}
150 
151  // Slice the image. (See TASImage::Slice)
152  virtual void Slice(UInt_t /*xStart*/, UInt_t /*xEnd*/, UInt_t /*yStart*/, UInt_t /*yEnd*/,
153  UInt_t /*toWidth*/, UInt_t /*toHeight*/) {}
154 
155  // Tile the image. (See TASImage::Tile)
156  virtual void Tile(UInt_t /*width*/, UInt_t /*height*/) {}
157 
158  // Crop the image. (See TASImage::Crop)
159  virtual void Crop(Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*width*/ = 0, UInt_t /*height*/ = 0) {}
160 
161  // Enlarge image. (See TASImage::Pad)
162  virtual void Pad(const char * /*color*/ = "#FFFFFFFF", UInt_t /*left*/ = 0,
163  UInt_t /*right*/ = 0, UInt_t /*top*/ = 0, UInt_t /*bottom*/ = 0) {}
164 
165  // Gaussian blurr. (See TASImage::Blur)
166  virtual void Blur(Double_t /*horizontal*/ = 3, Double_t /*vertical*/ = 3) { }
167 
168  // Reduces colordepth of an image. (See TASImage::Vectorize)
169  virtual Double_t *Vectorize(UInt_t /*max_colors*/ = 256, UInt_t /*dither*/ = 4, Int_t /*opaque_threshold*/ = 0) { return 0; }
170 
171  // (See TASImage::HSV)
172  virtual void HSV(UInt_t /*hue*/ = 0, UInt_t /*radius*/ = 360, Int_t /*H*/ = 0, Int_t /*S*/ = 0, Int_t /*V*/ = 0,
173  Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*width*/ = 0, UInt_t /*height*/ = 0) {}
174 
175  // Render multipoint gradient inside a rectangle. (See TASImage::Gradient)
176  virtual void Gradient(UInt_t /*angle*/ = 0, const char * /*colors*/ = "#FFFFFF #000000", const char * /*offsets*/ = 0,
177  Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*width*/ = 0, UInt_t /*height*/ = 0) {}
178 
179  // Merge two images. (See TASImage::Merge)
180  virtual void Merge(const TImage * /*im*/, const char * /*op*/ = "alphablend", Int_t /*x*/ = 0, Int_t /*y*/ = 0) {}
181 
182  // Append image. (See TASImage::Append)
183  virtual void Append(const TImage * /*im*/, const char * /*option*/ = "+", const char * /*color*/ = "#00000000") {}
184 
185  // Bevel effect. (See TASImage::Bevel)
186  virtual void Bevel(Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*width*/ = 0, UInt_t /*height*/ = 0,
187  const char * /*hi*/ = "#ffdddddd", const char * /*lo*/ = "#ff555555",
188  UShort_t /*thick*/ = 1, Bool_t /*pressed*/ = kFALSE) {}
189 
190  virtual void BeginPaint(Bool_t /*fast*/ = kTRUE) {}
191  virtual void EndPaint() {}
192  virtual void DrawLine(UInt_t /*x1*/, UInt_t /*y1*/, UInt_t /*x2*/, UInt_t /*y2*/,
193  const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1) {}
194  virtual void DrawDashLine(UInt_t /*x1*/, UInt_t /*y1*/, UInt_t /*x2*/, UInt_t /*y2*/, UInt_t /*nDash*/,
195  const char * /*pDash*/, const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1) {}
196  virtual void DrawBox(Int_t /*x1*/, Int_t /*y1*/, Int_t /*x2*/, Int_t /*y2*/,
197  const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1, Int_t /*mode*/ = 0) {}
198  virtual void DrawRectangle(UInt_t /*x*/, UInt_t /*y*/, UInt_t /*w*/, UInt_t /*h*/,
199  const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1) {}
200  virtual void FillRectangle(const char * /*col*/ = 0, Int_t /*x*/ = 0, Int_t /*y*/ = 0,
201  UInt_t /*width*/ = 0, UInt_t /*height*/ = 0) {}
202  virtual void DrawPolyLine(UInt_t /*nn*/, TPoint * /*xy*/, const char * /*col*/ = "#000000",
203  UInt_t /*thick*/ = 1, TImage::ECoordMode /*mode*/ = kCoordModeOrigin) {}
204  virtual void PutPixel(Int_t /*x*/, Int_t /*y*/, const char * /*col*/ = "#000000") {}
205  virtual void PolyPoint(UInt_t /*npt*/, TPoint * /*ppt*/, const char * /*col*/ = "#000000",
206  TImage::ECoordMode /*mode*/ = kCoordModeOrigin) {}
207  virtual void DrawSegments(UInt_t /*nseg*/, Segment_t * /*seg*/, const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1) {}
208  virtual void DrawText(Int_t /*x*/ = 0, Int_t /*y*/ = 0, const char * /*text*/ = "", Int_t /*size*/ = 12,
209  const char * /*color*/ = 0, const char * /*font*/ = "fixed",
210  EText3DType /*type*/ = TImage::kPlain, const char * /*fore_file*/ = 0, Float_t /*angle*/ = 0) { }
211  virtual void DrawText(TText * /*text*/, Int_t /*x*/ = 0, Int_t /*y*/ = 0) { }
212  virtual void FillPolygon(UInt_t /*npt*/, TPoint * /*ppt*/, const char * /*col*/ = "#000000",
213  const char * /*stipple*/ = 0, UInt_t /*w*/ = 16, UInt_t /*h*/ = 16) {}
214  virtual void FillPolygon(UInt_t /*npt*/, TPoint * /*ppt*/, TImage * /*tile*/) {}
215  virtual void CropPolygon(UInt_t /*npt*/, TPoint * /*ppt*/) {}
216  virtual void DrawFillArea(UInt_t /*npt*/, TPoint * /*ppt*/, const char * /*col*/ = "#000000",
217  const char * /*stipple*/ = 0, UInt_t /*w*/ = 16, UInt_t /*h*/ = 16) {}
218  virtual void DrawFillArea(UInt_t /*npt*/, TPoint * /*ppt*/, TImage * /*tile*/) {}
219  virtual void FillSpans(UInt_t /*npt*/, TPoint * /*ppt*/, UInt_t * /*widths*/, const char * /*col*/ = "#000000",
220  const char * /*stipple*/ = 0, UInt_t /*w*/ = 16, UInt_t /*h*/ = 16) {}
221  virtual void FillSpans(UInt_t /*npt*/, TPoint * /*ppt*/, UInt_t * /*widths*/, TImage * /*tile*/) {}
222  virtual void CropSpans(UInt_t /*npt*/, TPoint * /*ppt*/, UInt_t * /*widths*/) {}
223  virtual void CopyArea(TImage * /*dst*/, Int_t /*xsrc*/, Int_t /*ysrc*/, UInt_t /*w*/, UInt_t /*h*/,
224  Int_t /*xdst*/ = 0, Int_t /*ydst*/ = 0, Int_t /*gfunc*/ = 3, EColorChan /*chan*/ = kAllChan) {}
225  virtual void DrawCellArray(Int_t /*x1*/, Int_t /*y1*/, Int_t /*x2*/, Int_t /*y2*/, Int_t /*nx*/, Int_t /*ny*/, UInt_t * /*ic*/) {}
226  virtual void FloodFill(Int_t /*x*/, Int_t /*y*/, const char * /*col*/, const char * /*min_col*/, const char * /*max_col*/ = 0) {}
227  virtual void DrawCubeBezier(Int_t /*x1*/, Int_t /*y1*/, Int_t /*x2*/, Int_t /*y2*/, Int_t /*x3*/, Int_t /*y3*/, const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1) {}
228  virtual void DrawStraightEllips(Int_t /*x*/, Int_t /*y*/, Int_t /*rx*/, Int_t /*ry*/, const char * /*col*/ = "#000000", Int_t /*thick*/ = 1) {}
229  virtual void DrawCircle(Int_t /*x*/, Int_t /*y*/, Int_t /*r*/, const char * /*col*/ = "#000000", Int_t /*thick*/ = 1) {}
230  virtual void DrawEllips(Int_t /*x*/, Int_t /*y*/, Int_t /*rx*/, Int_t /*ry*/, Int_t /*angle*/, const char * /*col*/ = "#000000", Int_t /*thick*/ = 1) {}
231  virtual void DrawEllips2(Int_t /*x*/, Int_t /*y*/, Int_t /*rx*/, Int_t /*ry*/, Int_t /*angle*/, const char * /*col*/ = "#000000", Int_t /*thick*/ = 1) {}
232 
233  virtual void SetEditable(Bool_t /*on*/ = kTRUE) {}
234  virtual Bool_t IsEditable() const { return kFALSE; }
235 
236  virtual UInt_t GetWidth() const { return 0; }
237  virtual UInt_t GetHeight() const { return 0; }
238  virtual Bool_t IsValid() const { return kTRUE; }
239  virtual TImage *GetScaledImage() const { return 0; }
240 
241  virtual TArrayL *GetPixels(Int_t /*x*/= 0, Int_t /*y*/= 0, UInt_t /*w*/ = 0, UInt_t /*h*/ = 0) { return 0; }
242  virtual TArrayD *GetArray(UInt_t /*w*/ = 0, UInt_t /*h*/ = 0, TImagePalette * = gWebImagePalette) { return 0; }
243  virtual Pixmap_t GetPixmap() { return 0; }
244  virtual Pixmap_t GetMask() { return 0; }
245  virtual UInt_t *GetArgbArray() { return 0; }
246  virtual UInt_t *GetRgbaArray() { return 0; }
247  virtual Double_t *GetVecArray() { return 0; }
248  virtual UInt_t *GetScanline(UInt_t /*y*/) { return 0; }
249  virtual void GetImageBuffer(char ** /*buffer*/, int* /*size*/, EImageFileTypes /*type*/ = TImage::kPng) {}
250  virtual Bool_t SetImageBuffer(char ** /*buffer*/, EImageFileTypes /*type*/ = TImage::kPng) { return kFALSE; }
251  virtual void PaintImage(Drawable_t /*wid*/, Int_t /*x*/, Int_t /*y*/, Int_t /*xsrc*/ = 0, Int_t /*ysrc*/ = 0, UInt_t /*wsrc*/ = 0, UInt_t /*hsrc*/ = 0, Option_t * /*opt*/ = "") { }
252  virtual void FromWindow(Drawable_t /*wid*/, Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*w*/ = 0, UInt_t /*h*/ = 0) {}
253  virtual void FromGLBuffer(UChar_t* /*buf*/, UInt_t /*w*/, UInt_t /*h*/) {}
254  static EImageFileTypes GetImageFileTypeFromFilename(const char* opt);
255 
256  static TImage *Create();
257  static TImage *Open(const char *file, EImageFileTypes type = kUnknown);
258  static TImage *Open(char **data);
259  static TImage *Open(const char *name, const Double_t *imageData, UInt_t width, UInt_t height, TImagePalette *palette);
260  static TImage *Open(const char *name, const TArrayD &imageData, UInt_t width, TImagePalette *palette = 0);
261  static TImage *Open(const char *name, const TVectorD &imageData, UInt_t width, TImagePalette *palette = 0);
262 
263  TImage &operator+=(const TImage &i) { Append(&i, "+"); return *this; }
264  TImage &operator/=(const TImage &i) { Append(&i, "/"); return *this; }
265 
266  ClassDef(TImage,1) // Abstract image class
267 };
268 
269 
270 #endif
virtual UInt_t * GetScanline(UInt_t)
Definition: TImage.h:248
virtual void Append(const TImage *, const char *="+", const char *="#00000000")
Definition: TImage.h:183
virtual void DrawStraightEllips(Int_t, Int_t, Int_t, Int_t, const char *="#000000", Int_t=1)
Definition: TImage.h:228
TImage()
Definition: TImage.h:108
virtual void EndPaint()
Definition: TImage.h:191
EImageFileTypes
Definition: TImage.h:44
virtual UInt_t GetHeight() const
Definition: TImage.h:237
virtual Bool_t IsGray() const
Definition: TImage.h:143
virtual void DrawCellArray(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, UInt_t *)
Definition: TImage.h:225
virtual void DrawText(TText *, Int_t=0, Int_t=0)
Definition: TImage.h:211
friend TImage operator/(const TImage &i1, const TImage &s2)
Definition: TImage.cxx:184
virtual void DrawBox(Int_t, Int_t, Int_t, Int_t, const char *="#000000", UInt_t=1, Int_t=0)
Definition: TImage.h:196
virtual void DrawEllips(Int_t, Int_t, Int_t, Int_t, Int_t, const char *="#000000", Int_t=1)
Definition: TImage.h:230
float Float_t
Definition: RtypesCore.h:53
virtual void Mirror(Bool_t=kTRUE)
Definition: TImage.h:146
virtual void FillPolygon(UInt_t, TPoint *, TImage *)
Definition: TImage.h:214
virtual void PutPixel(Int_t, Int_t, const char *="#000000")
Definition: TImage.h:204
const char Option_t
Definition: RtypesCore.h:62
virtual UInt_t GetWidth() const
Definition: TImage.h:236
virtual Bool_t IsValid() const
Definition: TImage.h:238
unsigned short UShort_t
Definition: RtypesCore.h:36
virtual void WriteImage(const char *, EImageFileTypes=TImage::kUnknown)
Definition: TImage.h:123
#define BIT(n)
Definition: Rtypes.h:120
virtual void DrawCubeBezier(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, const char *="#000000", UInt_t=1)
Definition: TImage.h:227
virtual Double_t * Vectorize(UInt_t=256, UInt_t=4, Int_t=0)
Definition: TImage.h:169
virtual UInt_t * GetArgbArray()
Definition: TImage.h:245
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
const Bool_t kFALSE
Definition: Rtypes.h:92
Handle_t Drawable_t
Definition: GuiTypes.h:32
An abstract interface to image processing library.
Definition: TImage.h:37
virtual void Merge(const TImage *, const char *="alphablend", Int_t=0, Int_t=0)
Definition: TImage.h:180
virtual void FloodFill(Int_t, Int_t, const char *, const char *, const char *=0)
Definition: TImage.h:226
virtual Double_t * GetVecArray()
Definition: TImage.h:247
virtual void SetImage(const Double_t *, UInt_t, UInt_t, TImagePalette *=0)
Definition: TImage.h:124
virtual Pixmap_t GetPixmap()
Definition: TImage.h:243
virtual void DrawPolyLine(UInt_t, TPoint *, const char *="#000000", UInt_t=1, TImage::ECoordMode=kCoordModeOrigin)
Definition: TImage.h:202
virtual void FillSpans(UInt_t, TPoint *, UInt_t *, const char *="#000000", const char *=0, UInt_t=16, UInt_t=16)
Definition: TImage.h:219
virtual void Scale(UInt_t, UInt_t)
Definition: TImage.h:149
virtual void FillRectangle(const char *=0, Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
Definition: TImage.h:200
virtual void SetImage(Pixmap_t, Pixmap_t=0)
Definition: TImage.h:127
#define ClassDef(name, id)
Definition: Rtypes.h:254
EColorChan
Definition: TImage.h:98
virtual void CopyArea(TImage *, Int_t, Int_t, UInt_t, UInt_t, Int_t=0, Int_t=0, Int_t=3, EColorChan=kAllChan)
Definition: TImage.h:223
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:33
virtual void CropSpans(UInt_t, TPoint *, UInt_t *)
Definition: TImage.h:222
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)
Definition: TImage.h:186
virtual void FromWindow(Drawable_t, Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
Definition: TImage.h:252
virtual void DrawRectangle(UInt_t, UInt_t, UInt_t, UInt_t, const char *="#000000", UInt_t=1)
Definition: TImage.h:198
Base class for several text objects.
Definition: TText.h:33
virtual void Crop(Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
Definition: TImage.h:159
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition: TVirtualPad.h:59
R__EXTERN TImagePalette * gWebImagePalette
Definition: TAttImage.h:116
virtual TArrayL * GetPixels(Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
Definition: TImage.h:241
virtual void DrawSegments(UInt_t, Segment_t *, const char *="#000000", UInt_t=1)
Definition: TImage.h:207
Definition: TPoint.h:33
virtual void FillSpans(UInt_t, TPoint *, UInt_t *, TImage *)
Definition: TImage.h:221
TImage(UInt_t, UInt_t)
Definition: TImage.h:114
virtual void PolyPoint(UInt_t, TPoint *, const char *="#000000", TImage::ECoordMode=kCoordModeOrigin)
Definition: TImage.h:205
virtual void SetImage(const TArrayD &, UInt_t, TImagePalette *=0)
Definition: TImage.h:125
virtual void SetImage(const TVectorD &, UInt_t, TImagePalette *=0)
Definition: TImage.h:126
virtual void PaintImage(Drawable_t, Int_t, Int_t, Int_t=0, Int_t=0, UInt_t=0, UInt_t=0, Option_t *="")
Definition: TImage.h:251
TImage & operator+=(const TImage &i)
Definition: TImage.h:263
TNamed & operator=(const TNamed &rhs)
TNamed assignment operator.
Definition: TNamed.cxx:42
virtual ~TImage()
Definition: TImage.h:116
ETileType
Definition: TImage.h:86
virtual void DrawDashLine(UInt_t, UInt_t, UInt_t, UInt_t, UInt_t, const char *, const char *="#000000", UInt_t=1)
Definition: TImage.h:194
unsigned int UInt_t
Definition: RtypesCore.h:42
virtual TObject * Clone(const char *) const
Make a clone of an object using the Streamer facility.
Definition: TImage.h:119
Array of longs (32 or 64 bits per element).
Definition: TArrayL.h:29
virtual void ReadImage(const char *, EImageFileTypes=TImage::kUnknown)
Definition: TImage.h:122
virtual void SetEditable(Bool_t=kTRUE)
Definition: TImage.h:233
virtual void DrawFillArea(UInt_t, TPoint *, TImage *)
Definition: TImage.h:218
virtual void Zoom(UInt_t, UInt_t, UInt_t, UInt_t)
Definition: TImage.h:136
TImage & operator/=(const TImage &i)
Definition: TImage.h:264
virtual void DrawEllips2(Int_t, Int_t, Int_t, Int_t, Int_t, const char *="#000000", Int_t=1)
Definition: TImage.h:231
virtual void CropPolygon(UInt_t, TPoint *)
Definition: TImage.h:215
virtual void DrawText(Int_t=0, Int_t=0, const char *="", Int_t=12, const char *=0, const char *="fixed", EText3DType=TImage::kPlain, const char *=0, Float_t=0)
Definition: TImage.h:208
virtual Pixmap_t GetMask()
Definition: TImage.h:244
double Double_t
Definition: RtypesCore.h:55
virtual void FromPad(TVirtualPad *, Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
Definition: TImage.h:130
int type
Definition: TGX11.cxx:120
virtual void Pad(const char *="#FFFFFFFF", UInt_t=0, UInt_t=0, UInt_t=0, UInt_t=0)
Definition: TImage.h:162
virtual void GetImageBuffer(char **, int *, EImageFileTypes=TImage::kPng)
Definition: TImage.h:249
ECoordMode
Definition: TImage.h:93
virtual TArrayD * GetArray(UInt_t=0, UInt_t=0, TImagePalette *=gWebImagePalette)
Definition: TImage.h:242
virtual void FillPolygon(UInt_t, TPoint *, const char *="#000000", const char *=0, UInt_t=16, UInt_t=16)
Definition: TImage.h:212
ECharType
Definition: TImage.h:80
virtual void Slice(UInt_t, UInt_t, UInt_t, UInt_t, UInt_t, UInt_t)
Definition: TImage.h:152
TImage & operator=(const TImage &img)
Definition: TImage.h:112
A class to define a conversion from pixel values to pixel color.
Definition: TAttImage.h:39
TImage(const char *file)
Definition: TImage.h:107
Array of doubles (64 bits per element).
Definition: TArrayD.h:29
virtual void DrawLine(UInt_t, UInt_t, UInt_t, UInt_t, const char *="#000000", UInt_t=1)
Definition: TImage.h:192
Mother of all ROOT objects.
Definition: TObject.h:37
virtual void Flip(Int_t=180)
Definition: TImage.h:139
static EImageFileTypes GetImageFileTypeFromFilename(const char *opt)
Return the image type for the extension specified in filename.
Definition: TImage.cxx:60
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)
Definition: TImage.h:176
virtual Bool_t IsEditable() const
Definition: TImage.h:234
friend TImage operator+(const TImage &i1, const TImage &s2)
Definition: TImage.cxx:183
Definition: file.py:1
virtual void FromGLBuffer(UChar_t *, UInt_t, UInt_t)
Definition: TImage.h:253
Handle_t Pixmap_t
Definition: GuiTypes.h:31
TImage attributes.
Definition: TAttImage.h:65
TImage(const TImage &img)
Definition: TImage.h:111
virtual UInt_t * GetRgbaArray()
Definition: TImage.h:246
static TImage * Open(const char *file, EImageFileTypes type=kUnknown)
Open a specified image file.
Definition: TImage.cxx:110
virtual void UnZoom()
Definition: TImage.h:133
unsigned char UChar_t
Definition: RtypesCore.h:34
virtual void DrawCircle(Int_t, Int_t, Int_t, const char *="#000000", Int_t=1)
Definition: TImage.h:229
EText3DType
Definition: TImage.h:66
static TImage * Create()
Create an image.
Definition: TImage.cxx:36
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)
Definition: TImage.h:172
virtual void DrawFillArea(UInt_t, TPoint *, const char *="#000000", const char *=0, UInt_t=16, UInt_t=16)
Definition: TImage.h:216
const Bool_t kTRUE
Definition: Rtypes.h:91
virtual void Blur(Double_t=3, Double_t=3)
Definition: TImage.h:166
virtual Bool_t SetImageBuffer(char **, EImageFileTypes=TImage::kPng)
Definition: TImage.h:250
virtual void Tile(UInt_t, UInt_t)
Definition: TImage.h:156
char name[80]
Definition: TGX11.cxx:109
virtual TImage * GetScaledImage() const
Definition: TImage.h:239
tomato 2-D histogram with a double per channel (see TH1 documentation)}
Definition: TH2.h:296
virtual void BeginPaint(Bool_t=kTRUE)
Definition: TImage.h:190
virtual void Gray(Bool_t=kTRUE)
Definition: TImage.h:142