Neue Testversion 22.90b10

Hier diskutieren die Betatester von PhotoLine untereinander und mit den Entwicklern
Benutzeravatar
Herbert123
Mitglied
Beiträge: 2140
Registriert: Sa 12 Mai 2012 21:38

Re: Neue Testversion 22.90b10

Beitrag von Herbert123 »

Small request for the Layer-->Management-->Save Layer function.

I do a lot of compositing in video effects and 3d apps, and use PhotoLine for static asset creation - and then export the layers with above mentioned option.

But I always encounter the issue that PhotoLine will automatically crop the layers. Now, this is absolutely fine for game work and user interface work. But in video and FX work the layers must be imported "as is" which includes the empty space - otherwise the position is lost, and it is too imprecise and/or too much work to manually position assets in video/fx/animation software.

Bitmap layers can be expanded to the full canvas resolution, but other layers such as vector and text layers cannot. I use a work-around to fix this: add a transparent bitmap layer, and group it with those type of layers to force PhotoLine to export full sized canvas versions.

All this extra work would be avoided if a simple "export at canvas size" option would be included in the Save Layer function - saving hours of work potentially. The current default behaviour is great for other work, but terrible for video/fx/animation work.

Unless I am missing something, and it is already possible to export all the layers without cropping them?

PS Layered PSD export is not always an option either! Not all software reads PSD, and often the import is rather half-broken. The most reliable method is to save work in separate layers - at canvas size rather than cropped sizes.
/*---------------------------------------------*/
System: Win10 64bit - i7 920@3.6Ghz, p6t Deluxe v1, 48gb (6x8gb RipjawsX), Nvidia GTX1080 8GB, Revodrive X2 240gb, e-mu 1820, 2XSamsung SA850 (2560*1440) and 1XHP2408H 1920*1200 portrait
Martin Huber
Entwickler
Entwickler
Beiträge: 4161
Registriert: Di 19 Nov 2002 15:49

Re: Neue Testversion 22.90b10

Beitrag von Martin Huber »

Herbert123 hat geschrieben: Sa 05 Jun 2021 10:18 Small request for the Layer-->Management-->Save Layer function.

I do a lot of compositing in video effects and 3d apps, and use PhotoLine for static asset creation - and then export the layers with above mentioned option.

But I always encounter the issue that PhotoLine will automatically crop the layers.

(...)

Unless I am missing something, and it is already possible to export all the layers without cropping them?
No, layers are always exported using their native size.

Does the following script do what you want?

Code: Alles auswählen

Dim pl
Dim doc

Set pl = CreateObject("PhotoLine.Application")
Set doc = pl.ActiveDocument

pl.Visible = True

If Not doc Is Nothing Then
	Dim exportPath
	
	exportPath = doc.SaveDialog("Export Single Layers")
	If Len(exportPath) > 0 Then
		Dim	extenderPosition

		extenderPosition = InStrRev(exportPath, ".")
		If (extenderPosition > 0) Then
			Dim	extender
			Dim	basePath
			Dim	pathIndex
		
			extender = Right(exportPath, Len(exportPath) - extenderPosition + 1)
			basePath = Left(exportPath, extenderPosition - 1)
			pathIndex = 1
			' Save every layer
			For Each child in doc.RootLayer
				Dim layerDoc
				Dim	childCopy
				' Create a document based on the current layer
				' 1: LCDInvisible
				Set layerDoc = child.CreateDocument(1)
				' make the document the same size as the active document
				layerDoc.DocumentMode = True
				layerDoc.Size = doc.Size
				' place the copy of the current layer at the same location
				Set childCopy = layerDoc.RootLayer.First
				childCopy.MatrixToPage = child.MatrixToPage
				' now save the result
				exportPath = basePath & pathIndex & extender
				' WScript.Echo exportPath
				layerDoc.Export exportPath
				' 1: CODontSave
				layerDoc.Close 1
				
				pathIndex = pathIndex + 1
			Next
		End If
	End If
End If
Martin
SaveSingleLayers.vbs.zip
Edit: Just for the sake of completeness: The same as AppleScript.
SaveSingleLayers.scpt.zip
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
Herbert123
Mitglied
Beiträge: 2140
Registriert: Sa 12 Mai 2012 21:38

Re: Neue Testversion 22.90b10

Beitrag von Herbert123 »

That's exactly what I need! Thank you so much - this will save a LOT of time. :D

I will study the script.
Martin Huber hat geschrieben: Mi 09 Jun 2021 12:36
Herbert123 hat geschrieben: Sa 05 Jun 2021 10:18 Small request for the Layer-->Management-->Save Layer function.

I do a lot of compositing in video effects and 3d apps, and use PhotoLine for static asset creation - and then export the layers with above mentioned option.

But I always encounter the issue that PhotoLine will automatically crop the layers.

(...)

Unless I am missing something, and it is already possible to export all the layers without cropping them?
No, layers are always exported using their native size.

Does the following script do what you want?

Code: Alles auswählen

Dim pl
Dim doc

Set pl = CreateObject("PhotoLine.Application")
Set doc = pl.ActiveDocument

pl.Visible = True

If Not doc Is Nothing Then
	Dim exportPath
	
	exportPath = doc.SaveDialog("Export Single Layers")
	If Len(exportPath) > 0 Then
		Dim	extenderPosition

		extenderPosition = InStrRev(exportPath, ".")
		If (extenderPosition > 0) Then
			Dim	extender
			Dim	basePath
			Dim	pathIndex
		
			extender = Right(exportPath, Len(exportPath) - extenderPosition + 1)
			basePath = Left(exportPath, extenderPosition - 1)
			pathIndex = 1
			' Save every layer
			For Each child in doc.RootLayer
				Dim layerDoc
				Dim	childCopy
				' Create a document based on the current layer
				' 1: LCDInvisible
				Set layerDoc = child.CreateDocument(1)
				' make the document the same size as the active document
				layerDoc.DocumentMode = True
				layerDoc.Size = doc.Size
				' place the copy of the current layer at the same location
				Set childCopy = layerDoc.RootLayer.First
				childCopy.MatrixToPage = child.MatrixToPage
				' now save the result
				exportPath = basePath & pathIndex & extender
				' WScript.Echo exportPath
				layerDoc.Export exportPath
				' 1: CODontSave
				layerDoc.Close 1
				
				pathIndex = pathIndex + 1
			Next
		End If
	End If
End If
Martin

SaveSingleLayers.vbs.zip
/*---------------------------------------------*/
System: Win10 64bit - i7 920@3.6Ghz, p6t Deluxe v1, 48gb (6x8gb RipjawsX), Nvidia GTX1080 8GB, Revodrive X2 240gb, e-mu 1820, 2XSamsung SA850 (2560*1440) and 1XHP2408H 1920*1200 portrait