Ik ben momenteel bezig met een automatiserings script voor photoshop cs3.
Ik gebruik hiervoor com. En voor scripts in photoshop zijn er genoeg dingen te vinden. Echter allemaal zowat in javascript, logisch.
Nu werkt het grootste gedeelte van mijn applicatie al (dingen die ik wil doen in photoshop werken al vanuit mijn code etc.) Echter zit ik nog met 1 property die ik wil setten. Probeer ik dat, krijg ik de volgende exception:
De exception wordt opgeroepen in case 7 (enige case die momenteel doorlopen wordt).
Echter heb ik wel kunnen vinden wat het in javascript moet zijn:
Uit de scripting reference haal ik dit:
Ik gebruik hiervoor com. En voor scripts in photoshop zijn er genoeg dingen te vinden. Echter allemaal zowat in javascript, logisch.
Nu werkt het grootste gedeelte van mijn applicatie al (dingen die ik wil doen in photoshop werken al vanuit mijn code etc.) Echter zit ik nog met 1 property die ik wil setten. Probeer ik dat, krijg ik de volgende exception:
FatalExecutionEngineError was detected
Message: The runtime has encountered a fatal error. The address of the error was at 0x7f4bb7a3, on thread 0x1084. The error code is 0xc0000005. This error may be a bug in the CLR or in the unsafe or non-verifiable portions of user code. Common sources of this bug include user marshaling errors for COM-interop or PInvoke, which may corrupt the stack.
C#:
1
2
3
4
5
6
7
8
9
10
11
| //Positionering app.Preferences.RulerUnits = ps.PsUnits.psPercent; switch (gravity) { // Case 0 tot 6 verwijderd case 7: //middenonder watermarklayer.TextItem.Position = new int[2] {50,100}; break; //case 8 en 9 verwijderd } app.Preferences.RulerUnits = ps.PsUnits.psPixels; |
De exception wordt opgeroepen in case 7 (enige case die momenteel doorlopen wordt).
Echter heb ik wel kunnen vinden wat het in javascript moet zijn:
JavaScript:
1
2
| // select the text position - this can be an absolute value too, eg. (10,20) artLayerRef.textItem.position = new Array(docRef.width / 2, docRef.height *0.05); |
Uit de scripting reference haal ik dit:
Hoe krijg ik nu wel deze property geset, zonder dat ik een fatalexception krijg?Position Array
(UnitValue)
Read-write. The position of origin for the text. The
array must contain two values (unit value).
Tip: Setting the Position property is basically
equivalent to clicking the text tool at a point in the document to create the point of origin for
text.
Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?