home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 5
/
FreshFish_July-August1994.bin
/
bbs
/
gfx
/
jpegaga-1.0.lha
/
jpegAGA-1.0
/
doc
/
ppm2AGA.dok
< prev
Wrap
Text File
|
1994-06-04
|
20KB
|
498 lines
ppm2AGA 1.3 von Günther Röhrich
*******************************
ACHTUNG: Am Schluß dieser Datei ist diesmal meine korrekte EMAIL-Adresse zu
finden. (Die Adresse aus der 1.0 - Version war leider falsch.)
ppm2AGA ist ein Programm zur qualitativ hochwertigen Umwandlung des ppm-Bild-
formats (sowie auch pgm und pbm) in das IFF-ILBM-Format. Besitzer eines
AGA-Amigas können nun hochwertige Bilder für ihren Rechner erzeugen ohne viel
Geld für ein kommerzielles Bildbearbeitungsprogramm ausgeben zu müssen. Zusammen
mit dem NETPBM-Paket ist die Umwandlung (fast) jedes beliebigen Bildformats
möglich sowie einige elementaren Bildbearbeitungen.
Die Vorteile von ppm2AGA:
- sehr gute Bildqualität im HAM8-Modus
(besser als bei einigen kommerziellen Programmen)
- Bearbeitung beliebig großer Bilder auch mit wenig Arbeitsspeicher möglich
(das Bild darf sogar größer sein als der Arbeitsspeicher des Amiga)
- Abspeichern ins Klemmbrett (Clipboard) möglich
- Unterstützung von Farbpaletten mit voller 24 Bit Farbinformation
- Quelltext ist dabei
- läuft auf allen Amiga-Modellen mit allen Prozessoren (auch KS 1.2/1.3
sofern die iffparse.library V37 vorhanden ist)
- Anzeige des Bildes während der Berechnung möglich
Bevor ich mit der Anleitung anfange muß ich aber noch folgendes loswerden;
Dieses Programm ist Freeware (d.h. man braucht nichts zu bezahlen), bei seiner
Verbreitung bitte ich die folgenden Hinweise zu beachten:
Einige Programmteile entstammen dem NETPBM-Paket und sind somit
Copyright (C) 1989, 1991 by Jef Poskanzer. Sie wurden zum Teil stark geändert.
Dies ist jedoch im Sinne des Autors. Zur Erfüllung all seiner Forderungen
habe ich noch seinen Urheberrechts-Hinweis in die Anleitung mit aufgenommen:
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided
that the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation. This software is provided "as is" without express or
implied warranty.
Selbstverständlich ist jegliche Veränderung oder Weiterverbreitung von ppm2AGA
sowie des Quelltextes nur unter der oben aufgeführten Bedingung zulässig.
Die Dateien im Verzeichnis "Developer" unterliegen nicht dieser Auflage da sie
vollständig von mir entwickelt wurden, es gibt daher keinerlei Einschränkungen
für ihre Nutzung.
Bedanken möchte ich mich noch bei folgenden Personen:
(In Klammer ist die Internet-EMAIL Adresse angegeben, wo die betreffende
Person (hoffentlich) zu erreichen ist.)
Jef Poskanzer (jef@well.sf.ca.us)
für die Entwicklung des PPM-Formats und der zugehörigen Software
Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de):
für die AMIGA-spezifischen Sachen von NETPBM und "ppmtoilbm.c"
Johan Widen (jw@jwdata.se):
für die chunky->planar Umwandlungsroutine aus "ppmtoilbm.c"
Paul Heckbert:
auf dessen Artikel in "SIGGRAPH '82 Proceedings", S. 297 die
Farbauswahl-Routine aus "ppmquant.c" beruht
The Independent JPEG Group (jpeg-info@uunet.uu.net):
für den Quelltext zum Umwandeln des JPEG-Bildformats
***********************************************************************
So, nun sollte ich mal zum Wesentlichen kommen.
Das Programm liegt in zwei Versionen vor:
ppm2AGA.000 für 68000 und 68010 Prozessor, läuft auch auf allen anderen
ppm2AGA.020 für 68020 oder höhere Prozessoren
Da ich keinen Rechner mit 68000-Prozessor habe weiß ich nicht ob das
Programm dort läuft. Als Betriebssystem genügt OS 1.3, es wird jedoch die
iffparse.library V36 oder höher benötigt. (Die Version 37 ist auf der
Workbench 2.0 Diskette vorhanden und läuft auch unter KS 1.2/1.3)
Die Programme mit der Endung .gcc wurden mit GNU-C 2.5.8 übersetzt und
sind daher sehr viel schneller. Man benötigt aber die ixemul.library im
LIBS: Verzeichnis.
Der Aufruf von ppm2AGA geschieht wie folgt:
ppm2AGA Eingabedatei Ausgabedatei Optionen
Eingabedatei:
*************
Die Datei, die gelesen werden soll. Unterstützt werden die Dateiformate:
PPM - volle Farbinformation, jeder Bildpunkt kann eine von ca. 16 Millionen
Farben annehmen, 24 Bit pro Pixel
PGM - nur Graustufen, 8 Bit pro Pixel
PBM - nur Schwarz-Weiß, 1 Bit pro Pixel
Es werden sowohl das Binär- als auch das Textformat akzeptiert. Nähere
Informationen sind im NETPBM-Paket zu finden.
Wenn die Datei nicht komplett in den Speicher geladen wird dann darf sie
sich nicht auf einem PIPE-Device befinden da sie dann mehrfach gelesen werden
muß.
Ausgabedatei:
*************
Die Datei, die erzeugt werden soll. Es wird stets eine Datei im IFF-ILBM-Format
erzeugt. Der zu verwendende Modus wird über die Optionen eingestellt.
Wenn kein Modus angegeben ist dann wird stets der HAM8-Modus verwendet, da
dieser in den meisten Fällen die beste Bildqualität ergibt.
Das Setzen der HIRES- und LACE-Optionen geschieht automatisch je nach der Größe
des Bildes.
Wenn als Name der Ausgabedatei -cn angegeben wird dann wird die Datei im Klemm-
brett (Clipboard) mit der Unit-Nummer n abgelegt. Für n sollte man normalerweise
eine 0 angeben. Mit dem Befehl "MultiView CLIPBOARD" kann man z.B. das Bild dann
anzeigen. Bei anderen Programmen muß in der Regel die "Paste"- bzw. "Einfügen"-
Funktion in der Menüleiste angewählt werden um das Bild zu laden.
Optionen:
*********
Die Optionen dürfen in beliebiger Reihenfolge stehen, die Groß- und Klein-
schreibung ist beliebig. Werden Optionen weggelassen dann werden interne
Vorgabewerte angenommen.
-HAM8:
Es wird der HAM8-Modus verwendet. Das erzeugte Bild kann daher max. 262144 ver-
schiedene Farben haben. Mit der Option -2 werden zwei Durchgänge verwendet um
die Qualität etwas zu steigern. Eine Anzeige des Bildes ist nur auf AGA-Rech-
nern möglich.
-HAM6:
Es wird der HAM6-Modus verwendet. Dieser Modus ist jedoch nur der Voll-
ständigkeit halber enthalten, entsprechend sind dann auch die Ergebnisse.
Dieser Modus kann mit der Option -FS kombiniert werden. Mit der Option -2
werden zwei Durchgänge verwendet um die Qualität etwas zu steigern.
-CMAPn
Es wird der Farbpalettenmodus mit n Bitebenen verwendet. Dies bedeutet daß
im umgewandelten Bild nur höchstens 2^n verschiedene Farben auftreten können.
Die Auswahl dieser Farben geschieht jedoch aus einer Anzahl von ca. 16 Millionen
und orientiert sich nach der Häufigkeit des Auftretens im Originalbild.
Bei der Anzeige der Bilder auf einem ECS/OCS-Rechner wird das Bild daher
verfälscht da diese nur eine Auswahl aus 4096 Farben erlauben.
Eine Verfälschung auf einem AGA-Rechner ist auch möglich wenn ein zu alter
IFF-Anzeiger verwendet wird.
Hier nun die Zuordnung zwischen n und der Zahl der Farben der Palette:
Bitebenen Farben
--------- ------
1 2
2 4
3 8
4 16
5 32
6 64 (Anzeige nur auf AGA-Rechner oder mit Grafikkarten möglich)
7 128 (Anzeige nur auf AGA-Rechner oder mit Grafikkarten möglich)
8 256 (Anzeige nur auf AGA-Rechner oder mit Grafikkarten möglich)
Die Kombination mit der Option -FS ist möglich.
-E
(Nur sinnvoll in Zusammenhang mit der Option -CMAPn)
Diese Option ist anzugeben wenn bekannt ist daß die ppm-Datei nur wenige Farben
enthält und bei der Bildung der Häufigkeitsverteilung keine Probleme zu erwarten
sind. (dies ist z.B. der Fall wenn die ppm-Datei aus einem GIF-Bild herrührt,
das bekanntlich höchstens 256 Farben haben kann.) Werden mehr als 10000 Farben
gefunden so beginnt die Rechenarbeit von vorne, es werden dann mehrere Farben
zu einer einzigen zusammengefaßt. (Für eine Häufigkeitsverteilung ohne Ver-
minderung des Farbraums wären theoretisch bis zu 32 Megabyte an Arbeitsspeicher
erforderlich!)
Bei Bildern im pgm-Format ist diese Option automatisch aktiviert, da diese
höchstens 256 Graustufen enthalten können.
-FS
Es wird ein sog. Dithern nach Floyd-Steinberg durchgeführt. Hierbei werden
absichtlich Wandlungsfehler in das Bild eingebaut, die aber von weitem
betrachtet eine Verbesserung des Bildes ergeben. Verbessert werden insbesonders
Farbverläufe, die im HAM6 und im Farbpalet