<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich führe derzeit ein Skript aus, das mithilfe des folgenden einfachen Skripts ein 1-MB-Bild in eine Datentabelle einfügt (wobei :link to image ein Netzlaufwerk ist, auf dem das JPG gespeichert ist).
Formel( Offen ( :Link zum Bild, „jpg“ ) ),
Aufgrund der Größe des Bildes wird die Datentabelle immer größer (ich habe ca. 1500 Bilder) und ich habe die Zuschneidefunktion ausprobiert, bekomme aber die Syntax nicht richtig hin
Eine der verschiedenen Möglichkeiten, die ich ausprobiert habe, ist die folgende (und wahrscheinlich alle Kombinationen davon außer der richtigen!).
Formel( Offen ( :Link zum Bild, „jpg“ ) ) << Ernte ( Links ( 190 ), Spitze( 0 ), unten( 1690 ), Rechts ( 700 ) ),
Ich habe das Gefühl, nah dran zu sein, aber noch nicht ganz da.
Im Idealfall würde es Folgendes bewirken
- Öffnen Sie das Bild (eins nach dem anderen, um Computerspeicher zu sparen?)
- Schneiden Sie das Bild zu und speichern Sie den Zuschnitt dann in einem zentralen Ordner. Dies würde dann bei Bedarf eine zusätzliche Bildanalyse ermöglichen.
- Fügen Sie den Ausschnitt in die Datentabelle ein
- Schließen Sie das Originalbild.
Grüße
David
Hier ist ein Beispielskript, das genau das tut, was Sie angegeben haben
Namen standardmäßig hier ( 1 ) ;
// Holen Sie sich die Liste der Bilder
Dateiliste = Dateien im Verzeichnis ( „$SAMPLE_IMAGES“ ) ;
// Alle Bilder durchlaufen, zuschneiden und speichern
Für ( ich = 1 , ich <= N Artikel ( Dateiliste ) , ich ++,
// Einen Ersatz verwenden, da der Erweiterungswert ein Ausdruck sein muss,
// kein Literal
Bewertung (
Ersatz (
Ausdruck (
Bild = Offen ( „$SAMPLE_IMAGES\“ || Dateiliste [ ich ] , __Verlängerung__ )
) ,
Ausdruck ( __Verlängerung__ ) , Analysieren ( Wort ( - 1 , Dateiliste [ ich ] , "." ) )
)
) ;
// Warten Sie, bis das Bild gelesen ist
Warten ( 1 ) ;
// Bild zuschneiden
Bild << Ernte ( Links ( 50 ) , Rechts ( 100 ) , Spitze ( 60 ) , Unten ( 150 ) ) ;
// Das Bild in einem neuen Ordner speichern
Bild << Bild speichern ( „“ || Dateiliste [ ich ] , Wort ( - 1 , Dateiliste [ ich ] , "." ) ) ;
) ;
// Eine neue Tabelle erstellen
Neuer Tisch ( "Ohne Titel" ,
Zeilen hinzufügen ( N Artikel ( Dateiliste ) ) ,
Neue Spalte ( "Bild" , Ausdruck , "Keiner" , Werte festlegen ( {} ) )
) ;
// Die Bildspalte füllen
Für jede Reihe (
: Bild = neues Bild ( „“ || Dateiliste [ Reihe ()])
) ;