Logo ROOT  
Reference Guide
psview.C File Reference

Detailed Description

View in nbviewer Open in SWAN An example how to display PS, EPS, PDF files in canvas.

To load a PS file in a TCanvas, the ghostscript program needs to be install.

  • On most unix systems it is installed by default.
  • On Windows it has to be installed from http://pages.cs.wisc.edu/~ghost/ also the place where gswin32c.exe sits should be added in the PATH. One way to do it is:
    1. Start the Control Panel
    2. Double click on System 3, Open the "Advanced" tab
    3. Click on the "Environment Variables" button
    4. Find "Path" in "System variable list", click on it.
    5. Click on the "Edit" button.
    6. In the "Variable value" field add the path of gswin32c (after a ";") it should be something like: "C:\Program Files\gs\gs8.13\bin"
    7. click "OK" as much as needed.
#include "TROOT.h"
#include "TCanvas.h"
#include "TImage.h"
void psview()
{
// set to batch mode -> do not display graphics
gROOT->SetBatch(1);
// create a PostScript file
TString dir = gROOT->GetTutorialDir();
dir.Append("/graphics/feynman.C");
gROOT->Macro(dir);
gPad->Print("feynman.eps");
// back to graphics mode
gROOT->SetBatch(0);
// create an image from PS file
TImage *ps = TImage::Open("feynman.eps");
if (!ps) {
printf("GhostScript (gs) program must be installed\n");
return;
}
new TCanvas("psexam", "Example how to display PS file in canvas", 600, 400);
TLatex *tex = new TLatex(0.06,0.9,"The picture below has been loaded from a PS file:");
tex->Draw();
TPad *eps = new TPad("eps", "eps", 0., 0., 1., 0.75);
eps->Draw();
eps->cd();
ps->Draw("xxx");
}
#define gROOT
Definition: TROOT.h:415
#define gPad
Definition: TVirtualPad.h:286
The Canvas class.
Definition: TCanvas.h:31
An abstract interface to image processing library.
Definition: TImage.h:29
static TImage * Open(const char *file, EImageFileTypes type=kUnknown)
Open a specified image file.
Definition: TImage.cxx:119
To draw Mathematical Formula.
Definition: TLatex.h:18
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
Definition: TObject.cxx:195
The most important graphics class in the ROOT system.
Definition: TPad.h:29
virtual void Draw(Option_t *option="")
Draw Pad in Current pad (re-parent pad if necessary).
Definition: TPad.cxx:1282
TVirtualPad * cd(Int_t subpadnumber=0)
Set Current pad.
Definition: TPad.cxx:591
Basic string class.
Definition: TString.h:131
TString & Append(const char *cs)
Definition: TString.h:559
static constexpr double ps
Author
Valeriy Onoutchin

Definition in file psview.C.