首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PS -JPEG2000 saveOption

PS -JPEG2000 saveOption
EN

Stack Overflow用户
提问于 2021-03-25 22:49:24
回答 1查看 50关注 0票数 0

在Photoshop java脚本中有JPEG2000保存选项吗?我似乎在java脚本文档中找不到它。我希望java脚本能帮助我解决保存文件大小的问题。

在将其保存到JP2文件之前,我尝试使用一些操作来运行自动批处理。我注意到,与手动执行“另存为”相比,当我使用“保存和关闭”和“覆盖操作”“另存为”命令运行自动批处理时,文件大小更大。

我有一个‘另存为’的动作,将质量设置为50%,包括在动作的结尾。

EN

回答 1

Stack Overflow用户

发布于 2021-03-26 01:18:52

这是一个很好的问题!应该有相关的文档。我也找不到。这会使创建任何保存选项变得混乱:

代码语言:javascript
复制
  // var jpgFile = new File(filePath);
  // jpg2kSaveOptions = new JPEGSaveOptions() ?????;

但是,使用ScriptListener可以创建一个保存函数:

代码语言:javascript
复制
jpeg_2000("C:\\myfile.jpf", 100);

function jpeg_2000(filePath, jpgQuality)
{

  var idsave = charIDToTypeID( "save" );
  var desc1663 = new ActionDescriptor();
  var idAs = charIDToTypeID( "As  " );
  var desc1664 = new ActionDescriptor();
  var idJPLS = charIDToTypeID( "JPLS" );
  desc1664.putBoolean( idJPLS, true );
  var idJPQL = charIDToTypeID( "JPQL" );
  desc1664.putInteger( idJPQL, jpgQuality ); // jpeg200 quality
  var idJPFM = charIDToTypeID( "JPFM" );
  desc1664.putBoolean( idJPFM, true );
  var idJPMD = charIDToTypeID( "JPMD" );
  desc1664.putBoolean( idJPMD, true );
  var idJPTP = charIDToTypeID( "JPTP" );
  desc1664.putBoolean( idJPTP, false );
  var idJPJC = charIDToTypeID( "JPJC" );
  desc1664.putBoolean( idJPJC, true );
  var idJPEH = charIDToTypeID( "JPEH" );
  desc1664.putInteger( idJPEH, 50 );
  var idJPPO = charIDToTypeID( "JPPO" );
  desc1664.putInteger( idJPPO, 0 );
  var idJPCS = charIDToTypeID( "JPCS" );
  desc1664.putBoolean( idJPCS, false );
  var idJPWF = charIDToTypeID( "JPWF" );
  desc1664.putInteger( idJPWF, 1 );
  var idJPTS = charIDToTypeID( "JPTS" );
  desc1664.putInteger( idJPTS, 3 );
  var idJPJX = charIDToTypeID( "JPJX" );
  desc1664.putBoolean( idJPJX, false );
  var idJPXM = charIDToTypeID( "JPXM" );
  desc1664.putBoolean( idJPXM, true );
  var idJPEX = charIDToTypeID( "JPEX" );
  desc1664.putBoolean( idJPEX, true );
  var idJPIP = charIDToTypeID( "JPIP" );
  desc1664.putBoolean( idJPIP, false );
  var idJPRP = charIDToTypeID( "JPRP" );
  desc1664.putBoolean( idJPRP, false );
  var idJPEV = charIDToTypeID( "JPEV" );
  desc1664.putInteger( idJPEV, 16 );
  var idJPIS = charIDToTypeID( "JPIS" );
  desc1664.putInteger( idJPIS, 0 );
  var idJPRS = charIDToTypeID( "JPRS" );
  desc1664.putInteger( idJPRS, 2 );
  var idJPEGtwozerozerozero = stringIDToTypeID( " JPEG 2000" );
  desc1663.putObject( idAs, idJPEGtwozerozerozero, desc1664 );
  var idIn = charIDToTypeID( "In  " );
  desc1663.putPath( idIn, new File( filePath ) );
  var idDocI = charIDToTypeID( "DocI" );
  desc1663.putInteger( idDocI, 997 );
  var idsaveStage = stringIDToTypeID( "saveStage" );
  var idsaveStageType = stringIDToTypeID( "saveStageType" );
  var idsaveSucceeded = stringIDToTypeID( "saveSucceeded" );
  desc1663.putEnumerated( idsaveStage, idsaveStageType, idsaveSucceeded );
  executeAction( idsave, desc1663, DialogModes.NO );
}

我没有看过所有的选项,但您可以重复我所做的,并根据您的需要进行调整。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66801995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档