home *** CD-ROM | disk | FTP | other *** search
/ AMIGA PD 1 / AMIGA-PD-1.iso / Programme_zum_Heft / Programmieren / Kurztests / ACE / Prgs / Gfx / EyeCandy03.lha / PictSaver.doc < prev    next >
Text File  |  1994-09-22  |  23KB  |  570 lines

  1.  
  2.                              //
  3.                          \\ // PictSaver V2.4
  4.                           \//
  5.  
  6.                                  © 1992
  7.                                    by
  8.                              Preben Nielsen
  9.  
  10.                           This is FreeWare !!!
  11.  
  12.  
  13.  
  14. Whats's new since V2.0 ?
  15.  
  16. PictSaver  V2.0  had  a bug which sometimes caused it to ignore key-presses.
  17. This has of course been fixed.
  18.  
  19. Now  there is a new third menu with which you can customize PictSaver and of
  20. course you can save your preferences to disk.  You can now freely select the
  21. keys  for  PictSaver  to act on, which is especially usefull when PictSavers
  22. default keys conflict with other programs.
  23.  
  24. Contrary  to  earlier versions, cutting rectangles now uses the front screen
  25. instead of the active screen !
  26.  
  27. Font-sizes  are  now  taken into consideration when making the menu-bar (the
  28. items are still Topaz-80) and the string-gadget.  The font-adjustment is not
  29. as  complete as it could be under kickstart 2.x, but at least it's kickstart
  30. 1.2/1.3 compatibel.
  31.  
  32.  
  33.  
  34. What is PictSaver ?
  35.  
  36. PictSaver  is  a small utility that allows you to take snapshots of windows,
  37. screens  or  only  part of screens and store them on disk as IFF-ILBM files,
  38. which can then be used in any paint-program.
  39.  
  40.  
  41.  
  42. How to start PictSaver
  43.  
  44.     From CLI/Shell: Type    'PictSaver'   and   press   RETURN.    PictSaver
  45.                     auto-detaches.   This  means that you do not have to use
  46.                     'RUN'  or  'RUNBACK'  or  the  like - PictSaver will not
  47.                     prevent  you from closing the CLI/Shell window.  You can
  48.                     prevent  PictSaver  from showing it's startup-message by
  49.                     writing 'PictSaver -q'.  This is especially usefull when
  50.                     using   PictSaver   from   the   startup-sequence  under
  51.                     kickstart 2.x, because otherwise PictSaver would cause a
  52.                     prematurely opening of the workbench-screen.
  53.  
  54.     From Workbench: Double-click on the 'PictSaver' icon.
  55.  
  56.  
  57.  
  58. How to end PictSaver
  59.  
  60. To  remove PictSaver simply run it again as explained above.  It can also be
  61. done  by  pressing  a  few  keys  on  the  keyboard - How to do this will be
  62. explained below.
  63.  
  64.  
  65.  
  66. How to use PictSaver
  67.  
  68. Let me first explain some terms which will be used often in this text.
  69.  
  70. When I write:              then I mean:
  71. ===========================================================================
  72. IFF                        Interchange  File  Format - A fileformat created
  73.                            by   Electronic   Arts  to  make  it  easier  to
  74.                            interchange  files  between programs and between
  75.                            different  computers.   This format is very much
  76.                            used  in  the  Amiga  world (and on Macs an PC's
  77.                            too).
  78.  
  79. ILBM                       InterLeaved Bit Map - A IFF standard for storing
  80.                            graphic   images   as   interleaved   lines   of
  81.                            pixel-data.   An  IFF-ILBM  file  can be used by
  82.                            virtually  every  bitmap-graphics program on the
  83.                            Amiga.
  84.  
  85. ByteRun1                   ByteRun1 is a compression-technique for IFF-ILBM
  86.                            files.   It is a standard which is used by every
  87.                            paint-program  on  the  Amiga.   Picture-viewers
  88.                            like  PPShow  can  of  course also show pictures
  89.                            compressed  with this method.  Programs allowing
  90.                            compressed  pictures  can also read uncompressed
  91.                            pictures,  but  paint-programs  themselves often
  92.                            only  save  pictures  the compressed way (except
  93.                            Graphicraft).   The  reason PictSaver allows you
  94.                            to save uncompressed files, is because you might
  95.                            want  to pack the file further with PowerPacker,
  96.                            lharc,  zoo or the like.  Such packers can often
  97.                            obtain the best results from uncompressed files.
  98.  
  99. Bitplane                   A  block  of  memory used for displaying graphic
  100.                            images.   Amiga-screens  are build from combined
  101.                            bitplanes.   The number of colors the screen can
  102.                            have  is determined by the number  of  bitplanes
  103.                            it  is made  from.  1  bitplane  gives 2 colors,
  104.                            2  bitplanes gives 4 colors,  3 pitplanes  gives
  105.                            8 colors etc.  Current Amigas can show a maximum
  106.                            of  32  colors (5 bitplanes) without any tricks.
  107.                            EHB  and  HAM  screens  use   tricks  to  make 6
  108.                            bitplanes show  64 and 4096 colors respectively.
  109.  
  110. HAM                        Hold-And-Modify  - A graphics mode which enables
  111.                            your  Amiga  to  show 4096 colors using only six
  112.                            bitplanes.   In  this mode the color of a pixels
  113.                            cannot  be  chosen freely, but is a modification
  114.                            of the color of the pixel on the left.  Normally
  115.                            six  bitplanes should only be able to produce 64
  116.                            colors,  but  in  HAM  mode  the fifth and sixth
  117.                            bitplane is used to indicate whether this pixels
  118.                            color  differs  from  the pixel on the left by a
  119.                            change  in  the  Red,  Green or Blue part of the
  120.                            color.
  121.  
  122. EHB                        Extra  HalfBrite - A graphics mode which lets an
  123.                            Amiga  show 64 colors.  This uses six bitplanes,
  124.                            but  the  Amiga  only has 32 color-registers and
  125.                            can  therefor  only show 32 colors.  In EHB mode
  126.                            the  colors  32-63 depend pairwise on the colors
  127.                            0-31  but  are  shown  a  bit  darker  than  the
  128.                            original color.
  129.  
  130. Qualifier key              Any single one of the keys below:
  131.  
  132.                             the CTRL-key        ( ctrl   )
  133.                             the CAPSLOCK-key        ( caps   )
  134.                             the Left  SHIFT-key        ( lshift )
  135.                             the Left  ALT-key        ( lalt   )
  136.                             the Left  AMIGA-key        ( lamiga )
  137.                             the Right SHIFT-key        ( rshift )
  138.                             the Right ALT-key        ( ralt   )
  139.                             the Right SHIFT-key        ( rshift )
  140.  
  141. Qualifier                  Combination of simultaneously depressed
  142.                            qualifier-keys.
  143.  
  144. Action-key                 Any non-qualifier key on the keyboard.
  145.  
  146. LMB                        The left mouse-button.
  147.  
  148.  
  149. In  general,  writing  e.g.  ctrl-lshift-'a' means holding down the CTRL-key
  150. and the Left SHIFT-key and then pressing the 'a'-key.
  151.  
  152.  
  153.  
  154. The PictSaver window
  155.  
  156. By default, PictSaver uses the following key-combinations:
  157.  
  158. ctrl-lshift-lalt:  Qualifier used for cutting out rectangular portions of a
  159.                    screen.
  160.  
  161. ctrl-lalt-esc:     Terminates  PictSaver  and  removes  it  completely from
  162.                    memory.
  163.  
  164. ctrl-lalt-help:    Opens PictSavers window.
  165.  
  166. ctrl-lalt-'w':     Saves the active window as a IFF-ILBM file.
  167.  
  168. ctrl-lalt-'a':     Saves the active screen as a IFF-ILBM file.
  169.  
  170. ctrl-lalt-'f':     Saves the front screen as a IFF-ILBM file.
  171.  
  172.  
  173. Later  on  you will see how to customize these key-combinations for your own
  174. personal  preferences,  but  I  will  use  the default keys in the following
  175. explanation.
  176.  
  177.  
  178. Pressing ctrl-lalt-help pops up a window looking something like this:
  179.  
  180.                .---.-----------------------------.
  181.           .----> x |  PictSaver V2.4             |
  182.          /     |---'-----------------------------|
  183.          \     |      .------------------------. |
  184.           \    | File |   .->                <-------.
  185.            \   |      `--/---------------------' |    \
  186.             \  `--------/------------------------'    Here you  write the
  187.              |         /                              name of the file to
  188.             /         /                               create.
  189.  Click here          /
  190.  or  press  RETURN here to
  191.  make the window go  away.
  192.  Closing the  window means
  193.  accepting   the   current
  194.  settings   and  PictSaver
  195.  will  start  using  these
  196.  settings immediately.
  197.  The next time you open the
  198.  window,  it  will reappear
  199.  on its current position on
  200.  the screen.
  201.  
  202.  
  203.  
  204. The Menus
  205.  
  206. While  the  window  is  open,  it  has  two  menus  by which you can control
  207. PictSavers  way  of  saving  pictures,  and  a menu to control your personal
  208. preferences.
  209.  
  210.  
  211. The 'Special' menu
  212.  
  213. The   'Special'   menu   contains  two  menu-items  -  'Auto-numbering'  and
  214. 'Compression'.
  215.  
  216.  
  217. The 'Auto-numbering' item
  218.  
  219. If  Auto-numbering  is selected, then every file saved will get an extension
  220. added  to its name.  The extension will be of the form '.###', e.g.  '.001'.
  221. Turning  auto-numbering  on will add such an extension to the filename if it
  222. doesn't  already  have one.  For every picture saved while auto-numbering is
  223. on,  the  extension  will be incremented to '.002', '.003' etc.  Suppose you
  224. have  typed 'filename.023' and use auto-numbering - the next saved file will
  225. be  named  'filename.023'  and  the next again 'filename.024' and so on.  If
  226. auto-numbering if off, you will have to open the window every time to change
  227. the name manually.
  228.  
  229. PictSaver  will  allow  you  to make the path/filename combination 120 bytes
  230. long,  but  you have to be careful not to make the filename part longer than
  231. 30  bytes (Amigados don't use more).  When using auto-numbering, you have to
  232. remember  that  the  extension is 4 bytes, and that the rest of the filename
  233. shouldn't be longer than 26 bytes.
  234.  
  235.  
  236. The 'Compression' item
  237.  
  238. If  Compression  is  selected  then  pictures  will be saved using the usual
  239. 'ByteRun1'  compression method (see explanation above).
  240.  
  241. PictSaver defaults to Auto-numbering off and Compression on.
  242.  
  243.  
  244. The 'Bitplane' menu
  245.  
  246. The  'Bitplane'  menu contains seven menu-items.  This menu lets you control
  247. the  maximum  number of bitplanes to be saved from a screen.  You can choose
  248. '1',  '2',  '3', '4', '5', '6' or 'All'.  If you e.g.  are about to save a 5
  249. bitplane  picture  but only need to save the two lowest bitplanes, then just
  250. select  '2'  before saving the picture.  Lets on the other hand suppose that
  251. you  have  chosen  '3'  and  then  want to save a picture which only has two
  252. bitplanes  -  PictSaver  will  then  ignore the '3' choice and save only two
  253. bitplanes.   If you select 'All' then PictSaver will just save the number of
  254. bitplanes  that  the  actually  screen has (up to 32).  If you save pictures
  255. from  EHB or HAM screens and have specified a bitplane number less than '6',
  256. then  the  saved  pictures  will  no longer be EHB or HAM pictures, but just
  257. plain  ones.   The  reason is that both these picture formats need the sixth
  258. bitplane  to  make  the  Amiga-hardware  show  the extra colors (64 and 4096
  259. respectively).
  260.  
  261. PictSaver defaults to All.
  262.  
  263.  
  264. The 'Preferences' menu
  265.  
  266. The third menu 'Preferences' lets you choose the keys to be used when making
  267. PictSaver  perform some action.  It also lets you load/save your preferences
  268. from/to file or even revert to the default settings.
  269.  
  270.  
  271. The 'Cutting qualifier' item
  272.  
  273. This  menu-item  has  eight  submenu-items  which  corresponds  to the eight
  274. qualifier-keys  on the keyboard.  The selected items represent the qualifier
  275. to  be  used  when  you  want  to  cut out rectangular portions of the front
  276. screen.   When  you press the qualifier-keys (on the keyboard :-), PictSaver
  277. will   present  you  with  a  crosshair  which  will  make  it  easy  to  do
  278. precision-cutting.
  279.  
  280. The  default qualifier is ctrl-lshift-lalt.  Note that you have to select at
  281. least one qualifier-key.  Because the actual cutting is done with the mouse,
  282. selecting  no qualifier-key(s) would make the mouse useless for anything but
  283. cutting.
  284.  
  285. The cutting-qualifier has to be different from the action-qualifier.
  286.  
  287. If  you do not specify a usable qualifier, then PictSaver will tell you when
  288. you try to either close the window or try to save your preferences.
  289.  
  290.  
  291. The 'Action qualifier' item
  292.  
  293. This  menu-item  has  eight  submenu-items just like the 'Cutting qualifier'
  294. item.  From this menu-item you select the qualifier to be used when you want
  295. to:
  296.  
  297.   Exit PictSaver via the keyboard
  298.   Open PictSavers window
  299.   Save the active window
  300.   Save the active screen
  301.  or
  302.   Save the front screen
  303.  
  304. Note that unlike the cutting-qualifier you don't actually have to select any
  305. action-qualifier  keys,  but  if  you  do,  is  has to be different from the
  306. cutting-qualifier.  If you do not specify a usable qualifier, PictSaver will
  307. tell  you  when  you  try  to  either  close  the window or try to save your
  308. preferences.
  309.  
  310.  
  311. The action-key items
  312.  
  313. Now follows five menu-items which by default looks like this:
  314.  
  315. .-----------------------------.
  316. | Exit PictSaver: esc    (45) |
  317. | Open window   : help   (5F) |
  318. | Active window : 'w'    (11) |
  319. | Active screen : 'a'    (20) |
  320. | Front  screen : 'f'    (23) |
  321. `-----------------------------'
  322.  
  323. Each of these five items have two purposes:
  324.  
  325.  1: To show the currently selected key.
  326.  
  327.     The  selected  key  is  shown to the Right.  If the key is enclosed like
  328.     'w',  then  it  means  that the key has been looked-up using the current
  329.     keymap.   In  this case it means that to save the active window you have
  330.     to  press  the  key that normally produces a 'w'.  If the key had looked
  331.     like  'wh..' it would mean that the key (used when saving windows), with
  332.     the  current keymap, normally produces a string starting with 'wh'.  The
  333.     number  in  the '(..)' is the keys rawkey-number which is unique to this
  334.     specific  key.   The  rawkey-number  can  be usefull because the current
  335.     keymap  can  make several keys produce the same character or even string
  336.     (i.e.  '-').
  337.  
  338.     Some keys will not be looked up in the current keymap, but will be shown
  339.     literally. These are:
  340.  
  341.     F1            ( the F1 key  )
  342.     .            ( ..........  )
  343.     .            ( ..........  )
  344.     F10            ( the F10 key )
  345.     ESC            ( the ESC key )
  346.     DEL            ( the DEL key )
  347.     TAB            ( the TAB key )
  348.     HELP        ( the HELP key )
  349.     SPACE        ( the SPACE bar )
  350.     ENTER        ( the ENTER key )
  351.     RETURN        ( the RETURN key )
  352.     BS            ( the BACKSPACE key )
  353.     UP            ( the Up-Arrow key  )
  354.     DOWN        ( the Down-Arrow key )
  355.     LEFT        ( the Left-Arrow key )
  356.     RIGHT        ( the Right-Arrow key )
  357.  
  358.  
  359.  2: To make it possible to change the keys.
  360.  
  361.     To Change a key simply select its menu-item.  The PictSaver window will
  362.     now  show  the  text  'Select any non-qualifier key' and PictSaver will
  363.     wait  for  you  to press a key on the keyboard.  You can now select any
  364.     key  except  the  qualifier-keys.   When you have changed a key you can
  365.     immediately see it in the menu.
  366.  
  367. NOTE: Remember that what you see in the menu is merely an attemp to display
  368.       the selected  keys in a readable way - PictSaver acts on the physical
  369.       keypress itself and doesn't care which keymap you are using.
  370.  
  371.  
  372. The 'Default settings' item
  373.  
  374. This reverts to the default setting which are:
  375.  
  376. Auto-numbering off
  377. Compression on
  378.  
  379. All bitplanes
  380.  
  381. Cutting qualifier : ctrl-lshift-lalt
  382.  
  383. Action  qualifier : ctrl-lalt
  384.  
  385. Exit PictSaver key: esc
  386.  
  387. Open window key   : help
  388.  
  389. Save active window: 'w'
  390.  
  391. Save active screen: 'a'
  392.  
  393. Save front screen : 'f'
  394.  
  395. Window position   : 300,150 (window size is 246x43)
  396.  
  397.  
  398. The 'load preferences' item
  399.  
  400. This  attempts  to load preferences from the file 'S:PictSaver.prefs'.  Note
  401. that if the window-coordinates are off-screen, they will be adjusted.
  402.  
  403.  
  404. The 'Save preferences' item
  405.  
  406. This  attempts  to  save  your  preferences to the file 'S:PictSaver.prefs'.
  407. This  saves  every  setting  in  the  menus, the current name in the windows
  408. string-gadget and the current position of PictSavers window.
  409.  
  410.  
  411.  
  412. Saving Pictures !
  413.  
  414. PictSaver will let you save images from screen i three ways:
  415.  
  416.   1.  You can save the whole screen
  417.   2.  You can save a window
  418.   3.  You can cut out any rectangle just as you do in e.g. Deluxe Paint.
  419.  
  420. If  PictSaver,  for  some  reason,  can't save the picture (e.g.  because of
  421. disk-errors),  then it will tell you using a requester.  Otherwise PictSaver
  422. will  flash  the  screen  to  indicate  that all went well.
  423.  
  424. PictSaver  can't currently save pictures larger than 4000x16368 pixel and/or
  425. with more bitplanes than 32 - but that should suffice in most cases.
  426.  
  427. The following examples assumes default key-settings !
  428.  
  429.  
  430.  
  431. How to save an entire screen
  432.  
  433. To save the active screen (screen containing the active window) simply Press
  434. ctrl-lalt-'a'.   Pressing  ctrl-lalt-'f'  will  save  the  frontmost  screen
  435. instead  of  the  active  one - this is usefull because screens can't become
  436. active if they contain no window(s).
  437.  
  438.  
  439.  
  440. How to save a window
  441.  
  442. To  save  a window you have to make it the active one (e.g.  by clicking the
  443. mouse in it), and then press CTRL-LALT-'w'.
  444.  
  445.  
  446.  
  447. How to save a rectangulare area of a screen
  448.  
  449. This  can  only  be  done  on the front-most screen !  When you have got the
  450. screen in front you have to:
  451.  
  452.   1.  Press ctrl-lalt-lshift. A crosshair will now appear.
  453.  
  454.   2.  Use  the  crosshair  to  position  the  mouse  in  one  corner  of the
  455.       rectangular area you want to save.
  456.  
  457.   3.  When  the  mouse  is  in  place  press the LMB and hold it down (don't
  458.       release  ctrl-lalt-lshift).   The  crosshair  is  now  replaced  by  a
  459.       rubber-band (Yes, just like re-sizing windows).
  460.  
  461.   4.  Now  move  the  mouse  until you have framed the area you want to save.
  462.  
  463.   5.  Release  the  LMB.   The  rubber-band  dissapears and the area will be
  464.       written to a file.
  465.  
  466. If  you have made the crosshair or rubberband appear on the screen, and just
  467. want  it  to  dissapear, just release the ctrl-lalt-lshift keys (one or all)
  468. BEFORE  releasing  the  LMB.   The rubberband (or the crosshair) will now be
  469. erased and you can start over.
  470.  
  471. NOTE: Cutting out rectangular parts of HAM screen will probably not produce
  472.       perfect  results  due  to  the nature of HAM.  The reason for this is
  473.       that  the color of a pixel in a HAM screen may depend on the color of
  474.       the  pixel  on the left.  If you cut out a rectangle in the middle of
  475.       such  a  screen,  the  saved  picture will lack information about the
  476.       pixels previously to the left of the picture.
  477.  
  478.       It  is not recommended to try to cut out areas of constantly changing 
  479.       screens  because  drawing  a crosshair/rectangle on such a screen may
  480.       interfere with other things being drawn at the same time (screens are
  481.       not being locked !).
  482.  
  483.  
  484.  
  485. How does PictSaver work ?
  486.  
  487. PictSaver works by installing an input-handler at priority 55.  This handler
  488. then  signals  the  program (11 different signals actually) which then takes
  489. action.
  490.  
  491.  
  492.  
  493. Compatability !
  494.  
  495. PictSaver has been tested under kickstart 1.2, 1.3 and 2.x on a 2.5 MB 68000
  496. based  Amiga  1000 (0.5 MB chip-ram).  Please let me know of any problem you
  497. might  encounter.   When  contacting  me,  please  state  which hardware and
  498. software  you  were  using  when the problem occured.  PictSaver has already
  499. been  tested together with mungwall, but what I really would like to know is
  500. how it performs on a MMU-equipped Amiga using Enforcer (who can tell me ?).
  501.  
  502.  
  503.  
  504. Copyright notice !!
  505.  
  506. PictSaver  is  NOT  Public  Domain  but Freeware.  This means that it can be
  507. freely  distributed as long as you don't ask for more than a nominal fee for
  508. copying.   This documentation file must always be distributed along with the
  509. PictSaver program.
  510.  
  511.  
  512.  
  513. ////////////////////////////////////////////////////////////////////////////
  514.  
  515. Please send bug-reportssuggestionscommentsused A3000s etc. to:
  516.  
  517.         ///
  518.        ///  Preben Nielsen
  519.  \\\  ///  Oehlenschlægersgade 72 st. t.v.
  520.   \\\///  1663 Copenhagen V.
  521.    \///  Denmark
  522.         Phone: (009 45) 31 21 55 09
  523.  
  524.  
  525. ////////////////////////////// Public history //////////////////////////////
  526.  
  527. V1.0  19-Apr-91:  First release.
  528.  
  529. V1.1  18-May-91:  V1.0 trashed memory-address 0 by accident. Fixed !
  530.  
  531. V2.0  30-Aug-91:  Changed  name  from  'PicSaver'  to  'PictSaver'.  Changed
  532.                   interface.    Now  features  autonumbering  of  filenames,
  533.                   optional ByteRun1 compression and simple bitplane-control.
  534.                   Uses  buffered  output  for  speed.   Fixed some minor bug
  535.                   which sometimes made window-saving incorrect.
  536.  
  537. V2.4  24-Jan-92:  V2.0  sometimes  didn't  act  on  key-presses because of a
  538.                   bit-test  on  an  undefined  bit  (fixed !).  New menu for
  539.                   setting/loading/saving  preferences.   Hotkeys  can now be
  540.                   customized.  Minimal interference with screens because now
  541.                   crosshairs  and  rectangles  is being drawn through my own
  542.                   customized  RastPort.   The menu-bar and the string-gadget
  543.                   are  now  being  adjusted  according to the current screen
  544.                   font.
  545.  
  546.                   I  have  experimented  with locking  screens while drawing
  547.                   crosshairs  and  rectangles, but I had to give it up.   If
  548.                   someone  tries  to  open  or close  a window on the screen
  549.                   while  I'm  having it locked, then intuition (and therefor
  550.                   also input.device) will wait, the mouse will freeze, and I
  551.                   will  be  in  the  middle  of  a  serious  lock-up  !  The
  552.                   Workbench  2.0  program  seems to  rely  on  some  kind of
  553.                   insider  information  in  order to drop its  rubberband in
  554.                   time.
  555.  
  556. ///////////////////////////////// Credits //////////////////////////////////
  557.  
  558. Peter H. Orvis        for bug-report.
  559. Rick Manasa        for being persistent.
  560. John Lehmkuhl        for testing and comments.
  561.  
  562. ////////////////////////////// Future plans ////////////////////////////////
  563.  
  564. - Better adjustment to fonts under 2.x. Perhaps even a 2.x-only version.
  565. - Perhaps a rendevouz with Commodities Exchange and/or ARexx (you shouldn't
  566.   hold your breath though ;-).
  567.  
  568. ////////////////////////////////////////////////////////////////////////////
  569.  
  570.