gpt4 book ai didi

javascript - Photoshop 脚本 - 如何在一个历史状态下创建文本图层

转载 作者:行者123 更新时间:2023-12-05 07:51:36 26 4
gpt4 key购买 nike

这个问题Photoshop Script to create text in a bitmap image in Photoshop已经回答了如何在 photoshop 中创建文本层,但是在历史选项卡中您可以看到 8-10 个历史状态变化。有没有办法做同样的工作,但只改变历史一次?

显然问题是提到的答案首先向文档添加一个图层,然后编辑它 8-10 次,解决方案是创建一个图层并编辑它的属性,然后在它准备好后将其添加到文档。

我在 Photoshop CC 2014 Javascript 脚本引用中进行了搜索,它仅列出了 ArtLayers 方法的 3 种方法:add()、getByName() 和 removeAll()。

函数 add() 创建新层,添加它然后返回它。因此,根据 Javascript 脚本引用,我看不出如何先创建一个层然后再添加它。

我还在问,因为我可能遗漏了一些东西,或者有官方的方法可以做到这一点,但由于某种原因没有进入官方文档。

最佳答案

迟到总比不到好,但这是可能的。您只需使用 suspendHistory

暂停历史状态

只需将您的函数作为字符串以以下形式传递app.activeDocument.suspendHistory("string", "myFunction()");

据我所知,第一个参数是历史状态字符串。

如示例中所示,

// Switch off any dialog boxes
displayDialogs = DialogModes.ERROR; // OFF

app.activeDocument.suspendHistory ("history state", "createText('Arial-BoldMT', 48, 0, 128, 0, 'Hello World', 100, 50)");


function createText(fface, size, colR, colG, colB, content, tX, tY)
{

// Add a new layer in the new document
var artLayerRef = app.activeDocument.artLayers.add()

// Specify that the layer is a text layer
artLayerRef.kind = LayerKind.TEXT

//This section defines the color of the hello world text
textColor = new SolidColor();
textColor.rgb.red = colR;
textColor.rgb.green = colG;
textColor.rgb.blue = colB;

//Get a reference to the text item so that we can add the text and format it a bit
textItemRef = artLayerRef.textItem
textItemRef.font = fface;
textItemRef.contents = content;
textItemRef.color = textColor;
textItemRef.size = size
textItemRef.position = new Array(tX, tY) //pixels from the left, pixels from the top

activeDocument.activeLayer.name = "Text";
activeDocument.activeLayer.textItem.justification = Justification.CENTER;
}


// Set Display Dialogs back to normal
displayDialogs = DialogModes.ALL; // NORMAL

关于javascript - Photoshop 脚本 - 如何在一个历史状态下创建文本图层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34801453/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com