Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.csd.uwm.edu!uxc.cso.uiuc.edu!uxc.cso.uiuc.edu!m.cs.uiuc.edu!s.cs.uiuc.edu!mccaugh From: mccaugh@s.cs.uiuc.edu Newsgroups: comp.lang.pascal Subject: Re: Saving screen images to disk, can y Message-ID: <208300009@s.cs.uiuc.edu> Date: 22 Aug 89 06:11:00 GMT References: <5425@decvax.dec.com> Lines: 33 Nf-ID: #R:decvax.dec.com:5425:s.cs.uiuc.edu:208300009:000:1357 Nf-From: s.cs.uiuc.edu!mccaugh Aug 22 01:11:00 1989 It would seem that the built-in Procedures: GetImage (x1,y1, x2,y2: word; VAR bit_map: untyped) where: x1,y1 and x2,y2 define the rectangle of screen to save and: bit_map is any heap-storage for holding the image example: VAR p: pointer; BEGIN (* size of image = height*width + 4 *) (* (area(rectangle) + two words for ht, wdth *) GetMem(p, (x2-x1+1)*(y2-y1+1) + 4); GetImage(x1,y1, x2,y2, p^) END; (* now, p ==> block holding image *) PutImage (x,y: integer; VAR bit_map: untyped; bit_blt: word) where: x,y are upper-left corner on screen where image goes and: bit_map is our stored image bit_blt is the pattern of how to display it (default: NormalPut) example: PutImage(x,y, p^, NormalPut) other values for bit_blt are: XORPut ORPut ANDPut NOTPut