home *** CD-ROM | disk | FTP | other *** search
/ HomeWare 14 / HOMEWARE14.bin / graphvew / aive1_5.arj / AIVE.DOC < prev    next >
Text File  |  1994-03-14  |  9KB  |  221 lines

  1.                            Amiga Image ViewEr
  2.                               version 1.5
  3.                              Mars 1994
  4.  
  5.  
  6. R⌠le : Afficher des images en 256 couleurs sur un Amiga de base .
  7. ------
  8.  
  9. Copyright :
  10. -----------
  11.    AIVE est (c) 1994 Laurent Vivier . Il ne peut Ωtre vendu dans un but
  12. commercial sans mon autorisation Θcrite . Tout distribution ne peut exiger
  13. plus de 15FF de frais . Plus gΘnΘralement, je n'autorise personne α
  14. distribuer ce logiciel dans un but lucratif sans mon autorisation Θcrite .
  15.    Ce logiciel ne peut Ωtre distribuΘ sΘparΘ de ses documentations . Les
  16. fichiers "AIVE","AIVE.docF","AIVE.docE" ne peuvent donc Ωtre sΘparΘs .
  17.  
  18.    Je pense qu'on peut classer ce logiciel parmi les "Freeware", je ne
  19. demande donc rien en Θchange, sinon que les personnes susceptibles de le
  20. faire progresser me fasse parvenir leurs informations (nouveaux formats,
  21. nouveaux algorithmes, documents techniques concernant l'Amiga) .
  22.  
  23. Avertissement :
  24. ---------------
  25.  
  26.    Je dΘcline toute responsabilitΘ quant α l'utilisation de ce logiciel .
  27. Toute utilisation se fait α vos risques et pΘrils .
  28.  
  29. Contact :
  30. ---------
  31.  
  32.    Adresse postale :
  33.  
  34.             Laurent Vivier
  35.             Avenue GΘnΘral De Gaulle
  36.             38380 Saint Laurent du Pont
  37.             FRANCE
  38.  
  39.    Adresse Θlectronique :
  40.             Laurent.Vivier@ufrima.imag.fr (jusqu'α juin 1994)
  41.             vivier@isis.imag.fr (idem)
  42.  
  43. Formats SupportΘs : GIF87a,GIF89a (entrelacΘ ou non), IFF .
  44. -------------------
  45.  
  46. The Graphic Interchange Format(c) is the Copyright property of
  47. CompuServe Incorporated. GIF(sm) is a Service Mark property of
  48. CompuServe Incorporated.
  49.  
  50. Utilisation :
  51. -------------
  52.  
  53.    L'utilisation de AIVE se fait uniquement α partir du CLI (ou Shell) .
  54. Le nom du fichier ainsi que les options d'affichage se font par passage
  55. des paramΦtres .
  56.  
  57. ParamΦtres supportΘs :
  58. ----------------------
  59.  
  60.    Les paramΦtres supportΘs sont affichΘs si on lance AIVE sans paramΦtres !
  61. Tous les paramΦtres doivent Ωtre saisis en minuscule .
  62.  
  63. AIVE name [hire|lore|ehb][nolace][grey][scale]
  64.           [width w][heighth][ratio a/b][color #colors]
  65.  
  66.    HIRE,LORE,EHB : spΘcifie le mode graphique α utiliser
  67.    HIRE : haute rΘsolution
  68.    LORE : basse rΘsolution
  69.    EHB  : Extra-Half-Bright
  70. Le mode d'affichage par dΘfaut est HAM .
  71.  
  72. NOLACE : par dΘfaut l'affichage se fait en mode entrelacΘ, cette option
  73.          l'inhibe .
  74.  
  75. GREY   : affiche l'image en niveau de gris (16 couleurs, HIRE)
  76.  
  77. COLOR n : permet d'indiquer le nombre de couleurs a utiliser (>= 8,
  78.           par dΘfaut le maximum) . ConjuguΘ avec GREY, indique le nombre
  79.           de niveaux de gris .
  80.  
  81. SCALE : l'image est automatiquement rΘduite pour rentrer entiΦrement dans
  82.         l'Θcran
  83.  
  84. WIDTH w : spΘcifie la largeur maximale de l'image
  85.  
  86. HEIGHT h : spΘcifie la hauteur maximale de l'image
  87.  
  88. RATIO a/b : rapport de dΘformation de l'Θcran .
  89.             Soit x et y, respectivement la largeur et la hauteur d'un
  90.             point ΘlΘmentaire de l'Θcran, alors : y = x * (a/b)
  91.             par dΘfaut : a/b = 1/2 en LORE (HAM,EHB)
  92.                              = 1/1 en LORE et NOLACE
  93.                              = 1/1 en HIRE
  94.                              = 2/1 en HIRE et NOLACE
  95.             Je suis bien conscient que ces coefficients ne sont pas
  96.             rΘalistes . Mais ceux-ci pouvant varier d'un Θcran α l'autre
  97.             en fonction des rΘglages, de la frΘquence (NTSC/PAL),
  98.             d'une image α l'autre, toute autre valeur ne pourrait Ωtre
  99.             que spΘcifique α MON Θcran . Alors, α vous de faire le boulot
  100.             ( une mΘthode consiste α dessiner un rectangle a l'Θcran, mΩme
  101.             nombre de points hauteur/largeur, de prendre un dΘcimΦtre
  102.             pour mesurer ses c⌠tes sur l'Θcran, et de faire le rapport)
  103.  
  104. Interface :
  105. -----------
  106.  
  107.    AprΦs lancement, une fenΩtre s'ouvre . On y trouve le nom de l'image en
  108. cours de chargement, son type (GIF87a, GIF89a, IFF ...), ses dimensions,
  109. ainsi qu'une barre reflΘtant la progression du dΘcodage . Un bouton "Stop"
  110. permet d'arrΦter la lecture, et de quitter le programme . Le recourci
  111. clavier est la touche "ESC", elle n'est active seulement si la fenΩtre est
  112. sΘlectionnΘe (et non si l'image est sΘlectionnΘe !) .
  113.  
  114. A noter : Sous OS2.0, il est possible d'afficher des images plus grandes
  115. que l'Θcran; rien de spΘciale n'a ΘtΘ fait pour les parcourir, la seule
  116. solution existante est celle donnΘe par le systΦme, c'est-α-dire presser
  117. la touche Amiga Gauche en mΩme temps que le bouton gauche de la souris,
  118. et dΘplacer la souris pour dΘplacer l'image .
  119.    Sous OS1.3, ce problΦme ne se rencontre pas : il est impossible d'ouvrir
  120. un Θcran plus grand, l'image est mise α l'Θchelle dans une taille standard
  121. (PAL ou NTSC) .
  122.  
  123.  
  124. Techniques UtilisΘes :
  125. ----------------------
  126.  
  127.    Toutes les images subissent un dithering de type Floyd-Steinberg, qui
  128. consiste en une propagation de l'erreur aux points voisins . Il est
  129. bidirectionnel dans tous les cas .
  130.                  
  131.    L'affichage en niveau de gris, qui je pense est ce que l'on peut faire
  132. de mieux sur un Amiga avec le chip set de base, utilise les coefficients de
  133. luminositΘ de la Commision Internationale de l'Eclairage (CIE), c'est-α-dire
  134. que chaque composante est pondΘrΘe par une valeur proche de la sensibilite de
  135. l'oeil, lors du calcul de la moyenne donnant l'intensitΘ du niveau de gris .
  136.  
  137.    La recherche de la couleur la plus proche se fait en se projetant dans
  138. l'espace tridimensionel raportΘ aux composantes . Cela reviens α calculer
  139. la distance la plus courte dans cet espace . Cet espace est dilatΘ par les
  140. coefficients citΘs prΘcΘdemment .
  141.  
  142.    L'extraction de la palette de couleurs se fait grαce α une mΘthode
  143. personnelle qui consiste α agglomΘrer les couleurs en ilots de proximitΘ dans
  144. l'espace . On dΘcoupe l'espace en un nombre de sous-espaces, ce nombre est
  145. le nombre de couleurs dΘsirΘes . La valeur de la couleur associΘe au
  146. sous-espace est le barycentre des couleurs de la palette d'origine contenu
  147. dans ce sous-espace .
  148.  
  149.    L'affichage a ΘtΘ accΘlΘrΘ par rapport α la version 1.0 en stockant les
  150. calculs au fur et α mesure de l'affichage (utilise une vingtaine de Ko en
  151. plus)
  152.  
  153.    La mise α l'Θchelle se fait grαce α une routine en assembleur n'utilisant
  154. aucun nombre en virgule flottante . La technique employΘe peut s'apparenter
  155. aux techniques utilisΘes pour faire de l'anti-aliasing .
  156.  
  157. Evolutions possibles :
  158. ----------------------
  159.  
  160.    - Lancement α partir du workbench .
  161.    - gamma correction (est-ce utile ?)
  162.    - implantation d'une option d'impression (utilisant toute la rΘsolution
  163.      de l'imprimante) .
  164.    - implantation d'une option de sauvegarde .
  165.    - ajout des format PCX, BMP (trΦs probable), JPEG (peu probable, α cause
  166.      de l'obligation de parcourir l'image pour extraire la palette)
  167.    - complΘtion de l'interface homme-machine sous intuition
  168.  
  169. CompatibilitΘ :
  170. ---------------
  171.    Ce soft a commencΘ α Ωtre dΘvelopper sous Kickstart 1.2, Workbench 1.3 .
  172. Lors de sa diffusion, son dΘveloppement se faisait sous 2.0, il devrait donc
  173. fonctionner sous tous les systΦmes . Il a ΘtΘ rapidement testΘ sous 2.0 avec
  174. Θmulateur kickstart 1.3, α premiΦre vue il ne parait pas y avoir de
  175. problΦmes .
  176.  
  177.    Il se peut qu'il y ait des problΦmes sur des machines comportant des
  178. cartes graphiques : je n'utilise pas la fonction WritePixel de la
  179. graphics.lib pour Θcrire α l'Θcran, mais Θcris directement en mΘmoire, dans
  180. un but de rapiditΘ .
  181.  
  182.    Toutes l'activitΘ de test s'est faite sur mon A500 :
  183.    carte mΦre rev 5a, OS2.0, 2 drives DDDS, 512 FAST, 512 CHIP .
  184.  
  185. Remerciements :
  186. ---------------
  187.  
  188.    FrΘdΘric Elisei   Archimediste gΘnial, qui a fourni de l'eau a mon moulin
  189.    Franck Lyonnet    idem
  190.                      Voyez leurs viewers JPEG sur Acorn Archimede 5000,
  191.                      qui tourne plus vite que n'importe quels viewers GIF
  192.                      sur Amiga (500 !) .
  193.    Roger Wilson      pour un article sur son soft ChangeFSI
  194.    Steven A. Bennet  auteur d'un dΘcodeur GIF dont je me suis inspirΘ
  195.    Cindy Crowford    pour sa plastique superbe (motivante !)
  196.  
  197.    UFR Informatique  qui m'a permis de dΘcouvrir le rΘseau internet, et donc 
  198.    et mathΘmatiques  l'accΦs a un nombre important d'informations
  199.    appliquΘes de     (Merci aux administrateurs systΦme)
  200.    Grenoble          Venez Θtudier α Grenoble
  201.  
  202. Historique :
  203. ------------
  204. Janvier 1994   version 1.0    premiΦre distribution
  205. Janvier 1994   version 1.2    correction de 2 lΦgers bugs :
  206.                               - plantage sur des images de largeur impaire
  207.                               - lΘgΦre correction du dithering pour Θviter
  208.                                 un effet de saturation .
  209. Mars 1994      version 1.5    correction d'autres bugs :
  210.                               - impossibilitΘ d'afficher en grey avec low
  211.                                 resolution .
  212.                               - impossibilitΘ de faire un dΘgradΘ de gris
  213.                                 avec moins de 16 niveaux .
  214.                               Evolution :
  215.                               - AccΘlΘration du dithering (un gain de 2 ou 3)
  216.                               - mise en place des routines de changement
  217.                                 de taille de l'image
  218.  
  219. Auteur : Laurent Vivier
  220. --------
  221.