Skript Bilder zusammenfügen und rahmen

  • Ersteller Ersteller Lui
  • Erstellt am Erstellt am

Lui

Mitglied
Registriert
20.12.04
Beiträge
152
Ort
Oberstocken CH
Trophäen
!
=======================
=>
=> neuste Version hier
=>
=======================

Hallo

Nachdem ich unter "wo wart Ihr denn.." Bilder eingestellt hatte, wurde ich angefragt wie diese so zuasmmengestellt werden können. Hier die Erklärung dazu:

Rahmung mit drei Bildern wie ichs gemacht habe:
1. Bild laden
2. Bild skallieren auf Breite von 1000 Pixel (das sollte normalerweise ausreichen und ist einfacher zu rechnen)
3. Bildfläche auf einer Seite (rechts oder links) vergrössern um 1000 Pixel + Rahmenbreite (z.B. 50Pixel) mit Rahmenfarbe = 1050Pix
(Dies muss in mehreren Schritten gemacht werden, da maximal um 1000 Pixel erweitert werden kann.)
4. In Computeransicht zweites Bild markieren und in Zwischenablage kopieren
5. Im erweiterten Bereich einfügen, darauf achten, dass das Bild maximal skalliert und ganz an den Rand geschoben wird.
6. Schritte 3-5 für das 3. Bild wiederholen
7. Wenn alle 3 Bilder da sind (es können auch mehr sein) einen Rahmen um alle Bilder machen mittels Bildfläche vergrössern. Diesmal auf allen Seiten, mit Rahmenbreite (in diesem Fall 50 PIX)

Beispielbild:
1.jpg



Ich habe ein kleines Script geschrieben, welches genau das macht:
Code:
'FFSubmenu=Rahmen
'FFName=Bilder Zusammenfügen und rahmen

' ***********************************************************************
' Script by Lui
' V1.2, 31.8.06
' 
' Fügt mehrere Bilder zusammen und bildet einen Rahmen darum
' Eingabewerte: Rahmenbreite, Einzelbildbreite, Rahmenfarbe
' Ausgabe: Zusammengesetztes Bild
' ***********************************************************************


' ************** Variablen Definieren
dim i, imagenum							' integer Zähler
dim size_y, size_x, y_tot, rahmen	' integer Pixel
dim format								' rael
dim name, dlg							' string, dialog
dim color, color_r, color_g, color_b 	' integer color

' ************** Ausgewählte Bilder prüfen (Anzahl)

imagenum = FF_GetImageCount

' ************** Rahmenbreite definieren

call FF_AddDialog  (dlg,110,50)
call FF_AddControl (dlg,"Rahmenbreite","STATIC",0,2,65,11)
call FF_AddControl (dlg,"rahmen","SLEDIT",70,0,33,10)
call FF_AddControl (dlg,"Höhe der Bilder","STATIC",0,15,65,11)
call FF_AddControl (dlg,"y_tot","SLEDIT",70,15,33,10)
call FF_AddControl (dlg,"OK","BUTTON",70,30,33,11)
call FF_SetControl (dlg,"rahmen",20)
call FF_SetControl (dlg,"y_tot",1000)
call FF_ShowDialog(dlg)
rahmen = FF_GetControl(dlg,"rahmen")
y_tot = FF_GetControl(dlg,"y_tot")
call FF_CloseDialog(dlg)

' ************** Rahmenfarbe bestimmen 

color = FF_EnterColor()
color_b = int (color / 256 / 256)
color_g = int ((color - color_b * 65536) / 256)
color_r = int ((color - color_b * 65536) - color_g * 256)

' ************** Schlaufe zum generieren der Bilderzusammenstellung

' ***** Erstes Bild vorbereiten (skallieren)

name = FF_GetImageName(imagenum - 1)
call FF_LoadImage(name)
size_x = FF_GetImageWidth	
size_y = FF_GetImageHeight
format = size_x / size_y
call FF_HQScale(y_tot * format +1,y_tot,true)

' ***** Schlaufe für Bild 2 bis x

for i = 1 to imagenum - 1
	' ***** aktuelles Bild auf Stack und neues Bild laden
	call FF_PushImage()
	name = FF_GetImageName(imagenum - i -1)
	call FF_LoadImage(name)
	' ***** Format bestimmen
	size_x = FF_GetImageWidth	
	size_y = FF_GetImageHeight
	format = size_x / size_y
	' ***** Zielbild vom Stack holen und vergrössern
	call FF_SwapImage()
	call FF_ExtendCanvas((y_tot * format) + rahmen,0,0,0,color_r,color_g,color_b)
	' ***** Zielbild zurück auf Stack
	call FF_SwapImage()
	' ***** neues Bild skalliert einfügen
	call FF_MixImage(0,0,y_tot*format,y_tot,255)
	call FF_PopImage()
next 

' ************** Rahmen um das Ganze und auf FF ausgeben

call FF_ExtendCanvas (rahmen,rahmen,rahmen,rahmen,color_r,color_g,color_b)
call FF_Reload()

Es handelt sich um ein Visual-Basic Skript,das als *.vbs in FixFotos Skriptverzeichnis gespeichert werden muß. Anschließend die Skripte neu einlesen.

Bitte Beachten:
- Bilder können verschiedene Formate aufweisen (ab. Ver. 1.2)
- Wird nur ein Bild ausgewählt, wird dieses entsprechend skalliert und gerahmt

Wenn noch Fehler auftauchen bitte melden.

Gruss Lui
 
Zuletzt bearbeitet:
AW: Bilder zusammenfügen und rahmen

Hallo Lui,

das mit den 3 Bildern in einem Rahmen finde ich sehr schön.

Aber dann auch noch gleich ein Script dazu geschrieben, da bleibt mir nur ein herzliches Dankeschön!
 
AW: Bilder zusammenfügen und rahmen

Wunderbar, danke Lui, sogar ich hab das auf Anhieb hinbekommen, toller Service :-)
 
AW: Bilder zusammenfügen und rahmen

Lui,

danke für Deine schnelle Antwort und vielen Dank für diesen Klasseservice mit dem Script!

Aber was mach ich jetzt damit? Kopieren, mit einem Texteditor als *.js File im Scriptordner abspeichern, und dann Skript automatisch konfigurieren in FF?

Aber da kommt dann eine Fehlermeldung! So geht's also leider nicht!

Wer kann mir da weiterhelfen?

Grüße aus dem Westerwald

Andreas
 
Zuletzt bearbeitet:
AW: Bilder zusammenfügen und rahmen

Hallo,

vielleicht sollte man noch anmerken, daß es sich um ein Visual-Basic Skript handelt, das als name.vbs in FixFotos Skriptverzeichnis gespeichert werden muß. Anschließend die Skripte neu einlesen.

Außerdem ist darauf zu achten, daß die zusammenzufügenden Bilder das selbe Formatverhältnis und die gleiche Lage haben sollten.

Ansonsten, danke Lui, funktioniert gut!
 
AW: Bilder zusammenfügen und rahmen

Hallo Lui,

da das Script auch gut für Vergleiche geeignet ist (z.B. 1-Klick-Bildoptimierungen oder Schärfungsmethoden) plädiere ich für eine Aufnahme in den Zubehörbereich. Wenn Du einverstanden bist, bitte ich Micha, dass er es hochlädt.

Gruß
Stefan
 
AW: Bilder zusammenfügen und rahmen

Hallo miteinand,

kann es sein, dass das Script nur mit drei Querformatbildern zurechtkommt? Bei hochformatigen wird bei mir kräftig gestaucht...? ???
 
AW: Bilder zusammenfügen und rahmen

Super!
Script in Texteditor kopiert, unter dem Namen 3bild.vbs in Scriptverzeichnis von FF gespeichtert, im FF-Scripteditor automatische Konfiguration ausgeführt, Scripteditor ohne speichern geschlossen, FF neugestartet und .. es funktioniert. :D

Danke Lui !


PS: Stimmt, Gero, Hochformat funktioniert nicht, gleiche Seitenlänge geht dann wieder
 
AW: Bilder zusammenfügen und rahmen

giraffengero schrieb:
Bei hochformatigen wird bei mir kräftig gestaucht...? ???
kleine Änderung: das rechte Bild ist korrekt, die anderen beiden werden jeweils gestaucht.....

luiscript_01.jpg
 
AW: Bilder zusammenfügen und rahmen

Hi,

das Skript ist super. Es kommt auch mit mehr als 3 Bildern klar.

@Lui,

she ich das richtig, daß jedes Bild auf eine Breite von 1000 Pixel skaliert wird?

Die Höhe wird dann im Verhältnis angepasst?

Gruß

Uwe
 
AW: Bilder zusammenfügen und rahmen

Irene schrieb:
wenn das als Skript hier aufgenommen würde - dann wäre solchen Hilfsschülern wie mir wahnsinnig geholfen :-[ :-[ :-[
Hallo Irene,
du brauchst es dir doch nur in den Scriptordner kopieren.
 
AW: Bilder zusammenfügen und rahmen

Nein, lieber Heinz, so einfach ist das bei mir wieder einmal nicht - ich weiß, du sagst jetzt vermutlich, ich soll den Rechner wegwerfen ;D - das tue ich aber nicht

Ich habe die Sache ganz richtig im Script-Ordner (mit Funny-Hilfe kontrolliert)
dann in Fix-Foto den Editor "angeworfen" und automatische Konfiguration laufen lassen.

wir haben auch FixFoto geschlossen und wieder neu aufgemacht
geholfen hat es NIX ??? ??? |) |)
 
AW: Bilder zusammenfügen und rahmen

Wow, mit soo viel Echo habe ich nicht gerechnet...

Ich habe das Skript angepasst, dass auch Hochformat verwendet werden kann. Die Bilder sollten aber das gleiche Format haben. Zusätzlich kann die Grösse der Einzelbilder selbst definiert werden (Längste Seite).

Der Code ganz Obern ist durch den neuen ersetzt.

Gruss Lui
 
AW: Bilder zusammenfügen und rahmen

@Lui,

ich finde das Skript auch ganz klasse, vor allem weil man sich an diesem recht übersichtlichen Skript der skript-Programmierung nähern kann.

Dabei habe ich jetzt bereits eine Frage:

In dem Skript wird per FF-HQscale nur das erste Bild skaliert. Tatsächlich findet aber eine Skalierung aller Bilder statt. Wer übernimmt die weitere Skalierung. Sollte dies ein Feature von FF_miximage sein? Die Beschreibungen zu den Befehlen sind sehr spartanisch:(

Gruß

Uwe
 
AW: Bilder zusammenfügen und rahmen

Hallo Lui,

jetzt funktionierts auch mit dem Hochformat, danke!

Klitzekleines Schönheitsfehlerchen ( das nicht sofort behoben werden muss ): im Fensterchen für die Skalierungseingabe wird der Text etwas verschluckt
 
AW: Bilder zusammenfügen und rahmen

Hallo Gero,

einfach den Code an den folgenden Stellen ändern und zwar den den Wert von 50 auf 65 erhöhen, dann wird der ganze Text sichtbar. ;)

call FF_AddControl (dlg,"Rahmenbreite","STATIC",0,2,50,11)
call FF_AddControl (dlg,"Einzelbild skallieren auf","STATIC",0,15,50,11)
 
Zurück
Oben