fryd@g.gp.cs.cmu.edu (Michael Fryd) (06/23/89)
I am in the process of writing a short little utility program to convert EPSF files to PICT resources. Everything works, except that the resulting picture is not resizeable on a LaserWriter. The picture scales properly on QuickDraw devices (like the mac screen) but always comes out at the original size on a LserWriter. I must be doing something simple wrong, as converting EPSF to PICT should be a simple task. EPSF files contain both a QuickDraw and a PostScript version of the same image. The QuickDraw version is stored in a PICT resource, and the PostScript version is stored as text in the data fork. All I should have to do is: - create a new picture - establish a PostScript reference point (Tech Note 183) PenSize(0, 0); MoveTo(theBounds.left, theBounds.bottom); Line(0, 0); PenSize(1, 1); - issue a PostScriptBegin picture comment - send '1 -1 scale currentpoint translate ' with the PostScriptHandle picture comment. This moves the PostScript coordinate system to the lower left corner of where the picture should be (from Tech Note 183) - use DrawPicture to playback the original QuickDraw picture. - use multiple PostScriptHandle picture comments to send the PostScript from the data fork. - issue a PostScriptEnd picture comment - close the picture. Everthing seems to be working, except for resizing the picture. I can take the generated PICT resource and paste it into MicroSoft Word 4.0, The QuickDraw version appears on the screen, and the PostScript version goes to the LaserWriter. My problem is that if the user rescales the picture in MS Word, the QuickDraw version (on -screen) changes size, but the printed version does not. I am using version 6.0 of the LaserWriter driver. Does anyone have any idea of how to make the PostScript scale along with the quickdraw? Thanks in advance. and as usual if you mail to me, I will post results. Michael Fryd ARPA: Michael.Fryd@cs.cmu.edu MEFCO, Inc. AppleLink: MEFCO 2401 Coulter Road MaBell: (412) 751-5557 McKeesport, PA 15131-4251 Fax: (412) 751-8403 --