void hist2image()
{

   TCanvas *canv = new TCanvas("image", "xygaus + xygaus(5) + xylandau(10)");
   canv->ToggleEventStatus();
   canv->SetRightMargin(0.2);
   canv->SetLeftMargin(0.01);
   canv->SetTopMargin(0.01);
   canv->SetBottomMargin(0.01);

   // histogram as image (hist taken from draw2dopt.C)
   TImage *img = TImage::Create();

   TF2 *f2 = new TF2("f2","(xygaus + xygaus(5) + xylandau(10))",-4,4,-4,4);
   Double_t params[] = {130,-1.4,1.8,1.5,1, 150,2,0.5,-2,0.5, 3600,-2,0.7,-3,0.3};
   f2->SetParameters(params);
   TH2D *h2 = new TH2D("h2","xygaus + xygaus(5) + xylandau(10)",100,-4,4,100,-4,4);
   h2->FillRandom("f2",40000);
   img->SetImage((const Double_t *)h2->GetArray(), h2->GetNbinsX() + 2, 
                  h2->GetNbinsY() + 2, gHistImagePalette);
   img->Draw();
   img->StartPaletteEditor();
}
