                                                          Heilbronn, 20.08.91


                                 -----------
                                 GFA_BLK.PRG
                                 GFA_BLK.ACC
                                 Version 1.0
                                 -----------

                                --------------
                                Christoph Emde
                                Kernerstr.  14
                                7100 Heilbronn
                                --------------


------------------------------------------------------------------------------

Zur Weitergabe:
---------------

GFA_BLK,  in  der  Version 1.0,  darf zusammen mit dieser  Anleitung  beliebig 
kopiert und in unver„nderter Form weitergegeben werden.  Der Hinweis auf Autor 
(Urheberechtsvermerk)  darf  nicht  ge„ndert  oder  gel”scht  werden  !   Eine 
Weitergabe gegen ein Disketten und Kopierkosten bersteigendes Entgeld ist nur 
mit ausdrcklicher Genehmigungdes Autors zul„ssig !

Auf  der eingelegten Diskette muž sich der Ordner (Verzeichnis)  'GFA_BLK.1_0' 
mit folgenden Files befinden:

                    GFA_BLK.PRG              ; Programm
                    GFA_BLK.ACC              ; Accessory
                    BILDER \TEST   .PAC      ; STAD Testbild
                       "    TEST   .DOO      ; Doodle Testbild
                       "    TEST   .PIC      ; Screen Testbild
                       "    TEST   .PI3      ; Degas Testbild
                       "    TEST   .BEL      ; Bellissimo Testbild
                    GFA_BSP\STAD_DEK.GFA     ; Bsp. zum Laden von STAD Bilder
                       "   \STAD_DEK.LST     ; LST File dazu
                       "   \STAD_DEK.INL     ; INLINE Maschinenroutine
                    GFA_BSP\BEL_KDEK.GFA     ; Bsp. zum Laden und Speichern 
                       "   \BEL_KDEK.LST     ; Bellissimo Bildern -  LST File
                       "   \BEL_KOMP.LST     ; INLINE Masch.rout. zum kompr.
                       "   \BEL_DEKO.LST     ; INLINE Masch.rout. zum dekomp.

------------------------------------------------------------------------------

Wozu dient GFA_BLK ?
--------------------

Vor  kurzem habe ich angefangen ein Spiel in GFA Basic zu  programmieren,  bei 
dem ich sehr viele Bildausschnitte gleicher Gr”že ben”tigte.  Anfangs benutzte 
ich Bellissimo (PD Programm von mir) mit dem man Bl”cke ausschneiden kann  und 
auf Diskette/Festplatte abspeichern kann.
Doch diese Bl”cke waren alles andere als gleich grož.  Als die Bl”cke nun  auf 
meiner  Festplatte  waren,  berlegte ich mir wie ich diese in  mein  Programm 
einbinden k”nnte.


1. M”glichkeit : Einbinden als *.LST File mit der Editorfunktion MERGE

     Diese  M”glichkeit  ist wohl die Einfachste - jedoch  wird  ein  Programm 
     ben”tigt, welches die Bilddaten in BASIC verst„ndliche Bilddaten umformt. 


2. M”glichkeit : Einbinden mit BLOAD

     path$="A:\BLOCK.BLK"
     OPEN "I",#1,path$
     block$=SPACE$(LOF(#1))
     BLOAD "A:\BLOCK.BLK",V:block$
     CLOSE #1
     PUT 100,100,block$

     Diese M”glichkeit erschien nicht schlecht, jedoch dauert das Einladen bei 
     vielen Bl”cken eine Ewigkeit.


3. M”glichkeit : Einbinden mit INLINE  (Bsp. Block mit 80x80 Pixel)

     INLINE block%,806
     block$=space$(806)
     BMOVE block%,V:block$,806
     PUT 100,100,block$

     Von  dieser M”glichkeit war ich begeistert,  da bei gleichen Bl”cken  die 
     Anzahl  der  ben”tigten Bytes gleich bleibt,  und da nun  keine  weiteren 
     Dateien notwendig sind.
     Doch  schon kurz sp„ter „rgerte mich daž beim Einladen der  INLINE  Daten 
     immer  die Endung *.INL verlangt wird - und die Daten nur mit der  Endung 
     *.BLK vorlagen.     



Lage Rede kurzer Sinn - es fehlte ein Programm welches 

     1. Ein *.LST File erzeugen kann
     2. Bl”cke mit der Endung *.INL abspeichert
     3. Bl”cke mit beliebiger Endung abspeichert
     4. welches verschiedene Bildformate liest
     5. welches Bilder von Bellissimo (PD Programm von mir) liest
     6. mit dem man Bl”cke mit fester Gr”že ausschneiden kann

gesagt - getan

     Mit dem Programm GFA_BLK sind all diese Funktionen m”glich !!!

------------------------------------------------------------------------------


Nun zur Beschreibung
--------------------

GFA_BLK  l„žt  sich  als  Programm und als  Accessory  installieren  -  jedoch 
ben”tigt  es  als  Accessory gewaltig Speicherplatz,  sodaž man  es  nur  dann 
verwenden sollte, wenn man es auch wirklich braucht.

Nach  einem Doppelklick auf das Icon 'GFA_BLK.PRG' erscheint nach  einer  mehr 
oder  weniger  langen  Ladezeit  die  Dialogbox  in  der  alle   Einstellungen 
vorgenommen werden.


'Endung'

In  diesem  Rechteck wird die Endung des Blockes festgelegt.  Die  Endung  ist 
entweder '*.INL',  '*.BLK' oder kann beliebig eingegeben werden.  Bei diesen 3 
Varianten wird der Grafikblock immer auf die selbe Weise abgespeichert.
Wird  '*.LST'  gew„hlt,  wird  ein  File erzeugt  welches  mit  der  GFA-BASIC 
Editorfunktion MERGE eingeladen werden kann.


'Blockgr”že'

Wird 'Dragbox' gew„hlt,  so kann ein beliebiger Bildausschnitt gew„hlt werden. 
Wird  der zweite Button gew„hlt,  so wird die Breite und die H”he  angenommen, 
die in den Edit Feldern stehen. šber die Pfeiltasten ist es m”glich die Breite 
bzw.  die  H”he in 16 Pixel Schritten zu ver„ndern.  Die Eingabe der H”he  und 
die Breite kann jedoch auch manuell erfolgen.

Anmerkung: Der Aufbau des Bitmusters eines Blockes ist wie folgt aufgebaut. Es 
           werden  jeweils  16  Punkte  zusammengefasst.  Ist  die  Zeile  des 
           Bitmusters  krzer  als  ein  vielfaches  von  16  so  werden   die 
           restlichen Bits mit irgendwelchen zuf„lligen Bits aufgefllt  (Mll 
           - siehe [1]) und der Block verl„ngert sich unn”tig. 


'Bildformat'

Hier wird das Quellbild gew„hlt aus dem der Block ausgeschnitten werden kann.


'Bild laden'

Hiermit  wird  ein  Bild  geladen und  auf  dem  Bildschirm  dargestellt.  Das 
Bildformat  muž  vorher  bei  'Bildformate'  (STAD,Doodle,  Screen,Degas  oder 
Bellissimo)  gew„hlt werden.  Der Suchpfad fr die einzelnen Bildformate  wird 
jeweils    beibehalten    d.h.     wird    ein    STAD    Bild    im    Ordner 
'C:\BILDER\DEMOS\DEMO.PAC'        geladen,        danach       ein        Bild 
'E:\BELLISSI.1_1\BELLISSI.BEL\DEMO.BEL'  und  daraufhin soll wieder  ein  STAD 
Bild   geladen   werden,   so  befindet  man  sich   wieder   im   Verzeichnis 
'C:\BILDER\DEMOS\DEMO.PAC'.


'Block schneiden'

Ist  'Dragbox' eingestellt,  so wird mit der linken Maustaste der erste  Punkt 
markiert.  Danach  kann  der Blockbereich ohne drcken der  Maustaste  gew„hlt 
werden.  Ein  zweiter Druck auf die linke Maustaste legt den  Block  endgltig 
fest.  Daraufhin  erscheint  die Fileselect-Box in der nun der  Name  fr  den 
Block eingegeben werden muž und nach best„tigen der 'OK' Taste wird der  Block 
auf Diskette/Festplatte abgespeichert.

Ist  die  Blockgr”že  ber die Pfeiltasten festgelegt  und  der  entsprechende 
Button angew„hlt,  so erscheint nach Anwahl von 'Block schneiden' ein Rechteck 
mit der Gr”že des sp„teren Blockes. Ein Druck auf die linke Maustaste lažt wie 
oben die Fileselect-Box erscheinen.

Ein Druck auf die rechte Maustaste bricht die jeweilige Funktion ab.


'Block Test'

Nach  Anwahl erscheint der jeweils ausgeschnittene Block an  Mausposition  und 
kann  somit berprft werden.  Ein Druck auf die linke bzw.  rechte  Maustaste 
bricht die Funktion ab.


'Abbruch'

Nach Anwahl -> Rckkehr ins Desktop (Schliežfeld in der linken oberen Ecke hat 
die gleiche Funktion)


------------------------------------------------------------------------------


Nun etwas zur Programmierung
----------------------------

Um  kein  Resource-File  zu ben”tigen habe ich die Routine  aus  [2]  in  mein 
Programm eingefgt.
Die  Routine  zum Einladen der STAD Bilder habe ich aus [3] fr  meine  Zwecke 
zurecht  geschnitten.  Ein Beispielprogramm in GFA Basic 3.0 sowie die  INLINE 
Datei liegen bei.
Die  Routine zum Einladen der Bellissimo Bilder aus [4] liegen  ebenfalls  mit 
dem Demo bei.


------------------------------------------------------------------------------

PD Programme von mir !!!
------------------------

1.   Widerstand 1.0

     Ein Accessory zum bestimmen einen Widerstandwertes anhand der  Farbkodes. 
     Sehr  komfortable  und leichte Bedienung.  Fr jeden der  die  Werte  der 
     Farben nicht im Kopf hat (4 Ring Farbkode nach DIN 41429)


2.   Briefdruck 2.2D

     Accessory  oder  Programm  zum Bedrucken von Briefumschl„gen  in  3  ver-
     schiedenen  Gr”žen.  Parameter wie  Absender,  Druckarten,  Sonderzeichen 
     etc. sind auf Diskette/Festplatte speicherbar.
     Der   Empf„nger   kann   mit  einer   Schnittstelle   zum   PD   Programm 
     'Addresshelp'   [5]   direkt  eingeladen  werden.   Sehr   einfache   und 
     bersichtliche Bedienung kennzeichnen das Programm.


3.   Bellissimo 1.1

     Das Malprogramm fr Ihren SM 124 s/w Monitor.  Bellissimo besticht  durch 
     reichhaltige   und   durchdachte  Funktion.   Bellissimo   besitzt   alle 
     Funktionen  die  zu  einem  Malprogramm  geh”ren,  darberhinaus  besitzt 
     Bellissimo  Funktionen,  die  nur  bei CAD  Programmen  zu  finden  sind. 
     Ben”tigen  sie  ab und zu mal eine technische Skizze  oder  ein  fetziges 
     Bild, so sind Sie bei Bellissimo richtig.


4.   SpiceGraph 0.2

     Sie  arbeiten mit dem Simulationsprogramm fr  elektronische  Schaltungen 
     'SPICE 2G5' [6] und sind mit dem Sternchenplot aus dem  Terminalzeitalter 
     nicht zufrieden - so sollten Sie sich SpiceGraph 0.2 ansehen.
     SpiceGraph  0.2  wandet die Zahlenkolonnen in anschauliche  Grafiken  die 
     mehr šberblick ber Ihre Simulationsergebniss.



Auf folgenden Disketten erhalten Sie diese Programme

                 |  Maxon Computer  |  ST Journal  |  PD Szene   |
------------------------------------------------------------------
Widerstand 1.0   |                  |     J 71     |             |
------------------------------------------------------------------ 
Briefdruck 2.2D  | wurde erst eingesendet - noch mal nachfragen  |
           1.1   |      S 265       |              |             | 
------------------------------------------------------------------
Bellissimo 1.1   |      S 316       |              |             |
------------------------------------------------------------------
SpiceGraph 0.2   |                  |     J 115    |    2229     |
------------------------------------------------------------------

Falls Sie gleich mehrere Programme von mir haben wollen so wenden Sie sich  am 
besten gleich an mich selbst.

                         Adresse

                         Christoph Emde
                         Kernerstr. 14
                         7100 Heilbronn

Um  ein/mehere  Programm/e  zu  erhalten mssen  sie  nur  eine  Diskette  mit 
frankiertem Rckumschlag an mich senden. Fr eine Spende von DM 20 in bar oder 
auf mein Konto freue ich mich immer sehr,  und es gibt mir dann auch  Auftrieb 
weiter PD Programme zu erstellen.

                         KontoNr.: 11783842
                         Kreissparkasse Heilbronn
                         Blz.: 620 500 00


Ich danke Ihnen recht herzlich                         


Christoph Emde

------------------------------------------------------------------------------

Literatur

[1]  GFA Basic-Frank Ostrowski ber sein GFA Basic, S.35 ff

[2]  Resourcen in GFA Basic 3.0,  Lutz Prežler, ST Computer Magazin 10/88 S.76 
     ff

[3]  Bildung,  Stefan H”hn/J”rg Drcker,  ST Ecke ST Computer Magazin  8-12/88 
     S.107 ff

[4]  String Di„t, Jens Uwe Timm, c't Magazin, 12/89 S.290 ff
   
[5]  AddressHelp,  PD Programm von Andreas J„kel,  vorgestellt im ST  Computer 
     Magazin 4/91 S.193 - Diskette ST-PD 370

[6]  SPICE  2G5 erschien als PD Software beim Duffner PD  Service  (Ritterstr. 
     6, 7833 Endingen, Tel. 07642/3875) auf Diskette Nr. PGS 79


------------------------------------------------------------------------------


                                                        Heilbronn, 21.08.91

Žnderungen und Erweiterungen
----------------------------

Nach  Auswahl  von 'Block ausschneiden' kann,  solange die  linke  Shift-Taste 
gedrckt wird,  radiert werden. Solange die Alternate-Taste gedrckt wird kann 
gezeichnet werden.
W„hrend  eine der Tasten gedrckt ist und die rechte Maustaste  gedrckt  wird 
kann die Gr”že des Radierers bzw. des Stiftes ver„ndert werden.

Der 'Abbruch' Button mužte der Funktion 'Bild verschieben' weichen. Da oft der
gewnschte  Bildausschnitt  ganz am Rand eines Bildes ist  kann  dieser  nicht 
vollst„ndig ausgeschnitten werden.  Mit den Cursor-Tasten kann nun das Bild in 
alle 4 Richtungen verschoben werden.  Um das gleiche mit der Maus zu erreichen 
muž  man an den jeweiligen Bilschirmrand fahren und dabei die linke  Maustaste 
drcken. Abbruch mit der rechten Maustaste oder ESC Taste.


