TestImage2 (const char* file = 0) { TCanvas *c1 = new TCanvas("c1","c1",800,600);; TPad *aPad1 = new TPad("aPad1","aPad1",0,0,1,0.5); aPad1->Draw(); TH1F *h = new TH1F("gaus", "gaus", 100, -5, 5); aPad1->cd(); h->FillRandom("gaus", 10000); h->Draw(); c1->Update(); TCanvas *c2 = new TCanvas("c2","c1 mirror",600,800);; TPad *aPad2 = new TPad("aPad2","aPad2",0,0,1,0.5); TPad *aPad3 = new TPad("aPad3","aPad3",0,0.5,1,1); aPad1->Draw(); aPad2->Draw(); TImage *imgH = TImage::Create(); TObject *aClone; TPad *aPadClone; while(true) { aPad1->cd(); h->FillRandom("gaus",1000); aPad1->Modified(); aPad1->Update(); aClone = aPad1->Clone(); aPadClone = (TPad*)aClone; aPadClone->SetPad(0,0,1,1); aPad2->cd(); aPadClone->Draw(); imgH->FromPad(aPadClone); imgH->Mirror(); UInt_t *histImage1RGBA; histImage1RGBA = imgH->GetArgbArray(); /* Use the array histImage1RGBA */ gSystem->Sleep(1000); delete aClone; } }