home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Global Amiga Experience
/
globalamigaexperience.iso
/
applications
/
databases
/
databasepro
/
picbase
/
picbase.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1995-07-10
|
3KB
|
95 lines
/****************************************************************************
ARexx Skript zur automatischen Erzeugung von Thumbnails mit ADPro und
anschliessender Übername der Daten in DataBase.
Dazu muß - DataBase laufen und die 'picbase.db' Datei geladen sein
- ADpro laufen
Das ARexx Skript sollte durch das Skript 'PictureBase' aufgerufen werden.
02.09.94, Jörg Richter
*****************************************************************************/
PARSE ARG argline
PARSE VAR argline path source bild length DB .
/*
path = Pfad für das erzeugte Thumbnail
source = Quellpfad der Bilder
bild = Pfad und Name des eigentlichenen Bildes
length = Dateilänge des Bildes
DB = Pfad von Database
*/
OPTIONS RESULTS
RenderScreen = "Amiga 167936 640 256 256" /* ADpro RenderScreen */
/* dispID x y colors */
DIAsize = 120 /* Vorschaugröße */
TempDefaults = "T:ADPro.defaults" /* Datei mit Einstellungen von ADpro */
IF RIGHT(path,1) ~= "/" THEN DO
IF RIGHT(path,1) ~= ":" THEN
path = path || "/"
END
path = path || DelStr(bild,1,Length(source))
pos = MAX(LastPos("/",bild),LastPos(":",bild))+1
bildname = SubStr(bild,pos,Length(bild)-pos+1) /* Bildname ermitteln */
path = SubStr(path,1,Length(path)-Length(bildname))
IF Exists(path || bildname) = 1 THEN /* Falls Thumbnail schon existiert */
EXIT /* weiter mit nächsten Bild */
ADDRESS DataBase
Message "Bearbeite " || bild || " ..."
ADDRESS "ADPro"
SAVE_DEFAULTS TempDefaults /* aktuelle Einstellungen von ADpro sichern */
PSTATUS "LOCKED" /* Feste Farbpalette bei allen Bildern */
DITHER 1 /* Floyd-Steinberg Dithering */
LOADER "UNIVERSAL" bild /* Übergebendes Bild laden */
IF RC ~= 0 THEN EXIT /* Abbruch falls Fehler */
XSIZE
width = ADPRO_RESULT /* Bildbreite und -höhe */
YSIZE
height = ADPRO_RESULT
IF width > height THEN DO
yy = (height/width) * DIAsize
xx = DIAsize
END
ELSE DO
xx = (width/height) * DIAsize
yy = DIAsize
END
ABS_SCALE xx yy
SET_RENDER_MODE RenderScreen
EXECUTE /* Bild in den Screen mit fester Farbpalette rendern */
SAVER "IFF" path || bildname "IMAGE" /* Als 8 bit IFF in die Thumbnail */
/* Schublade speichern */
LOAD_DEFAULTS TempDefaults /* Zurücksetzen der Einstellungen von ADpro */
ADDRESS DataBase
Add /* neuen Datensatz hinzufügen */
PutData $F1 bild /* Orginalbildname und -pfad in Feld 1 */
PutData $F2 length /* Dateilänge des Bildes in Feld 2 */
PutData $F3 width || "x" || height /* Bildbreite und -höhe in Feld 3 */
IF Compare(UPPER(DB),UPPER(SubStr(path,1,Length(DB)))) = 0 THEN
path = DelStr(path,1,Length(DB)+1)
PutData $F4 path || bildname /* Pfad/Name des Thumbnails in Feld 4 */
/* Falls der Pfad teilweise mit dem */
/* Pfad von DataBase übereinstimmt, */
/* wird dieser Teil vorher einfernt */