Hallo!
Mit PhotoLine 21.01 soll gemäß Ankündigung Bearbeitungen mit Scripts möglich sein.
Da ich ein altgedienter Programmierer bin, würd' ich das gern probieren.
Habt ihr einen Einstiegspunkt für mich unter Windows?
Danke
Erhy
Scripting
-
- Entwickler
- Beiträge: 4159
- Registriert: Di 19 Nov 2002 15:49
Re: Scripting
Unter Windows befindet sich im PhotoLine-Verzeichnis im Ordner Infos die Datei "Scripting.zip". Diese enthält ein PDF mit der grundlegenden Beschreibung der verfügbaren VBScript-Schnittstellen und Beispielskripte.
Ich schreibe die Skripte normalerweise mit Notepad++. Dem kann man leicht beibringen, das Skript, das man momentan bearbeitet, aus Notepad++ heraus aufzurufen (einfach im Web nach "Notepad++ run wscript" suchen).
Wenn du aus Notepad++ ein Skript startest, wird automatisch auch PhotoLine gestartet, aber es bleibt unsichtbar. Daher starte ich normalerweise PhotoLine zuvor manuell selbst.
Martin
Ich schreibe die Skripte normalerweise mit Notepad++. Dem kann man leicht beibringen, das Skript, das man momentan bearbeitet, aus Notepad++ heraus aufzurufen (einfach im Web nach "Notepad++ run wscript" suchen).
Wenn du aus Notepad++ ein Skript startest, wird automatisch auch PhotoLine gestartet, aber es bleibt unsichtbar. Daher starte ich normalerweise PhotoLine zuvor manuell selbst.
Martin
Re: Scripting
Danke, funktioniert sehr schön.
Ich bewundere das Script AdjustmentWithGradient.vbs
Habe die Vorgangsweise nun konventionell nachgeahmt und dabei einiges gelernt.
Die Arbeitsebene wurde mit Vorgänger gruppiert.
Habe das script abgewandelt, damit eine normale Arbeitsebene erstellt wird
Erhy
Ich bewundere das Script AdjustmentWithGradient.vbs
Habe die Vorgangsweise nun konventionell nachgeahmt und dabei einiges gelernt.
Die Arbeitsebene wurde mit Vorgänger gruppiert.
Habe das script abgewandelt, damit eine normale Arbeitsebene erstellt wird
Erhy
Code: Alles auswählen
' Script AdjustmentWithGradientAbove.vbs
Dim pl
Dim doc
Dim layer
Set pl = CreateObject("PhotoLine.Application")
Set doc = pl.ActiveDocument
pl.Visible = True
If Not doc Is Nothing Then
Set layer = doc.ActiveLayer
' Is the active layer an image without adjustments?
' 1 is the equivalent of LayerType.LTImage
If ((Not layer Is Nothing) And (layer.Type = 1) And (layer.AdjustmentsCount = 0)) Then
Dim adjustmentLayer
Dim gradientDic
Set gradientDic = CreateObject("PhotoLine.Dictionary")
' First 0: GradientType.GTLinear
gradientDic.Add "Type", 0, "Colors", Array(Array(0, 0, 0), Array(1, 1, 1)), "Stops", Array(0, 1), "Points", Array(0.5, 0, 0.5, 1)
' Create an adjustment layer with the same size and position of
' the active layer
Set adjustmentLayer = layer.Duplicate()
' First 0: PictureType.PTGray, Size parameter 2: CoordinateSystem.CSLayer
' Use a gradient dictionary as fill color. Can also be an IPL color or an color
' dictionary or an array of samples or a fill value.
adjustmentLayer.InitPicture 0, layer.Size(2), gradientDic
' Adjustment layer has the same transformation as the active layer.
'not necessary because duplicated layer: adjustmentLayer.MatrixToPage = layer.MatrixToPage
' Add an Curves adjustment. You can optionally use a PhotoLine.Dictionary
' for the adjustment options.
adjustmentLayer.InsertAdjustment -1, "Type", "Curves", "Contrast", 60, "CurveMain", Array(0, 0, 0.5, 0.6, 1, 1)
End If
End If