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