actionscript 3-photoshop活动文档



我正在ActionScript 3中编写Photoshop插件。

我在app.activeDocument上遇到了一个非常令人困惑和沮丧的问题。我的代码与Photoshop for Windows完美配合,但在Mac上,我收到了"通用Photoshop错误。此功能可能在此版本的Photoshop中不可用。"错误。

为了找到问题的根源,我写了一个类来获取文档引用,并从测试面板中调用了它。这次课堂点名效果很好。然后,我在我的主面板项目中包含了同一个类,它中断了。

这是我的课:-

package DocRefGetter
{
    import com.adobe.csawlib.photoshop.Photoshop;
    import com.adobe.photoshop.*;
    public class DocRefPhotoshop
    {
        public static function getDocRef():Document
        {
            var app:Application = Photoshop.app;
            var thisDoc:Document = app.activeDocument;
            //var thisDoc:Document = app.documents.index(0);  //Tried this method too
            return thisDoc;
        }
    }
}

为了在这里发帖,我简化了一些内容,即删除了"try,catch"语句之类的内容,但本质上这是在我的面板上下文中不起作用的代码。我还尝试了对JSX代码的等效调用,结果完全相同,完全适用于Windows,在Mac上的测试面板中工作,在Mac的主项目中不工作。

正如我所说,在测试中,这非常有效。以下是测试mxml代码:-

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" historyManagementEnabled="false">
    <mx:Script>
        <![CDATA[
            import DocRefGetter.DocRefPhotoshop;
            import com.adobe.photoshop.Document;
            [Bindable]
            private var hostName:String = HostObject.mainExtension;
            protected function button1_clickHandler(event:MouseEvent):void
            {
                var thisDocRef:Document = DocRefPhotoshop.getDocRef();
                testLabel.text = String(thisDocRef);
            }
        ]]>
    </mx:Script>
    <mx:VBox height="100%" width="100%" verticalAlign="middle" horizontalAlign="center">
        <mx:Button label="Run PS code" click="button1_clickHandler(event)" />
        <mx:Label id="testLabel" width="182" text="Label"/>
    </mx:VBox>
</mx:Application>

我不能发布它不工作的主应用程序,因为它非常大和复杂,所以我想问的是,以前有人遇到过与这种类型的文档引用有冲突的情况吗?一个多星期以来,我一直在努力解决这个问题。我尝试了许多不同的解决方案,但都没有奏效。Mac Photoshop只是不想看到打开的文档。

任何建议都是受欢迎的,但我最希望有人以前遇到过这种确切的情况,并有一个确切的解决方案。

非常感谢您不厌其烦地看一看。

所以我想问的是,以前有人遇到过与这种类型的文件引用有冲突的情况吗?

使用以下检查之一:

  • docref是null吗?

  • 文档是否异步加载?

  • 文件是否足够大,可以超时?

参考

  • Photoshop脚本:使用文档模型

  • Adobe Photoshop CS5脚本指南(pdf)

  • JavaScript开发工具包|下载Adobe ExtendeScript toolkit CC

相关内容

最新更新