Picture Shrinker B. Kühnast Picture Shrinker ist ein Programm, daß Graphics-8 Bilder verkleinert. Ich habe es geschrieben, weil ich feststellte, daß einige Bilder, die ich irgendwann zwischendurch gemalt hatte, zwar für manche Zwecke brauchbar waren, aber da- für einfach etwas groß waren. Die Bilder sollten im 62-Sektor Format vorliegen und werden auch in diesem Format gespeichert. Das ist zwar ziem- lich platzraubend, aber dafür kann man z. B. mehrere Bilder im Design Master zu einem machen, weil der ja nur dieses Format liest. Die Funktionsweise ist ganz einfach: Nachdem das Bild im Speicher steht, wird es zeilen- und spaltenweise "gele- sen". Dazu werden (in den Zeilen 100 bis 120) jeweils 4 Pixel überprüft. AABB........ AABB........ aabb........ aabb........ ... ... Nach obigem Schema wären das die vier Pixel an der Position "A". Dann wird gezählt, wieviele Pixel gesetzt, d. h. sichtbar sind. Sind es mehr als 2 Pixel (3 oder 4 von 4 möglichen) wird auch in der Verklei- nerung das Pixel gesetzt. Dieser Wert läßt sich in Zeile 140 ändern. Setzt man hier einen anderen Wert ein, wird die Verkleinerung dunkler und grober oder heller und feiner. Einfach mal Ausprobieren. Das ganze Programm ist in Turbo-Basic geschrieben, auch aus Geschwindigkeits- gründen. Trotzdem empfehle ich, es zu kompilieren. Große Geschwindigkeitsver- besserungen darf man allerdings nicht erwarten, da die Befehle LOCATE und PLOT ziemlich oft benutzt werden. Sie werden immer über das Betriebssystem abgewickelt, und da dessen Grafikrouti- nen sehr allgemein sind, geht das ganze entsprechend langsam. In Zeile 170 wird der INSTR-Befehl ge- braucht. Dieser Befehl dient dazu, in einem String einen anderen String zu suchen. Im Programm wird im Dateinamen der Punkt gesucht, um den Extender (warscheinlich .PIC) zu ändern (zu .PS). Das verkleinerte Bild wird also mit dem gleichen Namen und der Ergän- zung .PS auf der gleichen Diskette ge- speichert. Man könnt das Programm natürlich auch auf andere Verkleinerung umschreiben. Ändert es einfach nach Bedarf. CU!