36 TImage *TImage::Create()
38 static TPluginHandler *h = 0;
41 h = gROOT->GetPluginManager()->FindHandler(
"TImage");
43 if (h->LoadPlugin() == -1) {
48 TImage *img = (TImage *) h->ExecPlugin(0);
49 if (img) img->SetName(
"dummy_image");
60 TImage::EImageFileTypes TImage::GetImageFileTypeFromFilename(
const char* filename)
62 if (!filename)
return kUnknown;
64 TString sFilename(filename);
65 if (sFilename.EndsWith(
".xpm.gz", TString::kIgnoreCase))
66 return kGZCompressedXpm;
67 else if (sFilename.EndsWith(
".xpm.z", TString::kIgnoreCase))
68 return kZCompressedXpm;
69 else if (sFilename.EndsWith(
".png", TString::kIgnoreCase))
71 else if (sFilename.EndsWith(
".jpeg", TString::kIgnoreCase))
73 else if (sFilename.EndsWith(
".jpg", TString::kIgnoreCase))
75 else if (sFilename.EndsWith(
".xcf", TString::kIgnoreCase))
77 else if (sFilename.EndsWith(
".ppm", TString::kIgnoreCase))
79 else if (sFilename.EndsWith(
".pnm", TString::kIgnoreCase))
81 else if (sFilename.EndsWith(
".bmp", TString::kIgnoreCase))
83 else if (sFilename.EndsWith(
".ico", TString::kIgnoreCase))
85 else if (sFilename.EndsWith(
".cur", TString::kIgnoreCase))
87 else if (sFilename.EndsWith(
".gif", TString::kIgnoreCase))
89 else if (sFilename.EndsWith(
".tiff", TString::kIgnoreCase))
91 else if (sFilename.EndsWith(
".tif", TString::kIgnoreCase))
93 else if (sFilename.EndsWith(
".xbm", TString::kIgnoreCase))
95 else if (sFilename.EndsWith(
".fits", TString::kIgnoreCase))
97 else if (sFilename.EndsWith(
".tga", TString::kIgnoreCase))
99 else if (sFilename.EndsWith(
".xml", TString::kIgnoreCase))
101 else if (sFilename.EndsWith(
".anim.gif", TString::kIgnoreCase))
110 void TImage::ls(Option_t *)
const
112 TROOT::IndentLevel();
113 printf(
"TImage: \"%s\"\n", GetName() );
119 TImage *TImage::Open(
const char *file, EImageFileTypes type)
121 TImage *img = Create();
122 char *fullname = gSystem->ExpandPathName(file);
125 img->ReadImage(fullname, type);
135 TImage *TImage::Open(
const char *name,
const Double_t *imageData, UInt_t width,
136 UInt_t height, TImagePalette *palette)
138 TImage *img = Create();
141 img->SetImage(imageData, width, height, palette);
150 TImage *TImage::Open(
const char *name,
const TArrayD &imageData, UInt_t width,
151 TImagePalette *palette)
153 TImage *img = Create();
156 img->SetImage(imageData, width, palette);
165 TImage *TImage::Open(
const char *name,
const TVectorD &imageData, UInt_t width,
166 TImagePalette *palette)
168 TImage *img = Create();
171 img->SetImage(imageData, width, palette);
180 TImage *TImage::Open(
char **data)
182 TImage *img = Create();
185 img->SetImageBuffer(data, TImage::kXpm);
186 img->SetName(
"XPM_image");
192 TImage operator+(
const TImage &i1,
const TImage &i2) { TImage ret(i1); ret.Append(&i2,
"+");
return ret; }
193 TImage operator/(
const TImage &i1,
const TImage &i2) { TImage ret(i1); ret.Append(&i2,
"/");
return ret; }