gpt4 book ai didi

javascript - 在 Photoshop 中加载图像文件并将其放置在特定位置

转载 作者:行者123 更新时间:2023-11-28 04:51:37 25 4
gpt4 key购买 nike

我正在寻找一个函数来加载图像并将其放置在 Photoshop 中的特定 x,y 坐标处。

我有以下代码:

var docRef = app.activeDocument;

function MoveLayerTo(fLayer,fX,fY) {

var Position = fLayer.bounds;
Position[0] = fX - Position[0];
Position[1] = fY - Position[1];

fLayer.translate(-Position[0],-Position[1]);
}

var doc = app.documents.add();
MoveLayerTo(doc, 12, 24)

}

但是如果我尝试运行它,我会得到:

Error 21: undefined is not an object.

对于这里出了什么问题以及如何让我的代码正常工作有什么想法吗?

最佳答案

您没有指定图层,但提供了完整的文档。正如您在 Reference 中看到的那样, Document 没有名为 bounds 的成员。

此外,您正在处理一个空图像文件(调用 documents.add 并使用新创建的图像),但我猜您想处理事件文档。

您可能想要做的是选择所提供文档的最顶层。无论如何,如果这是一个纯图像(例如 png 或 jpeg),则(唯一)现有图层被锁定(即您无法翻译它)并且您无法解锁背景图层,因此您应该:

  • 首先复制图层
  • 删除原始图层
  • 平移图层
  • 将图像缩小为仅背景图像
var layerOrig = docRef.layers[0];
var layerCopy = layerOrig.duplicate();
layerOrig.remove();
MoveLayerTo(layerCopy, 12, 24)
docRef.flatten();
// and maybe you want to save

小心:对平面图像(例如 .png、.jpeg)执行此操作,但不要对 .psd 图像执行此操作,因为您将图像拼合为最后(将其减少为单个背景层)。如果您随后保存该图像,所有图层信息都会丢失!

关于javascript - 在 Photoshop 中加载图像文件并将其放置在特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42875016/

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