开发用于将图片放在一起的宏

时间:2017-03-15 10:58:20

标签: photoshop

我有大约100张乐谱文件,彼此包含音符。我现在想做的是创建一长串笔记。

所以我需要做以下事情:

  • 删除.pdf文件的特定部分。
  • 将它们水平粘合在一起

所以我有这样的文件:

分为两部分:

现在我想将它们一起添加到一行(自动)

我得到了第一部分,但第二部分有一些问题。任何人都可以告诉我是否有一种方法可以加载1张图片并将其放置在某个x,y坐标上,然后在另一个特定的x,y坐标上加载另一张图片?认为这需要相当于Photoshop的VBA / Excel。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

诀窍是对图像使用变换(或者从scriptlistner中获取一个名为translate layer的函数):

  // get all the files to process
  var inFolder = Folder.selectDialog("Please select folder to process");
  if (inFolder != null)
  {
    var fileList = inFolder.getFiles();
  }

// main loop starts here
for ( var i = 0 ;i < fileList.length; i++)
{
   // load in image one by one
   // do your stuff and
   translateLayer(x,y);
}

function translateLayer(dx,dy)
{
  // =======================================================
  var id2014 = charIDToTypeID( "Trnf" );
  var desc416 = new ActionDescriptor();
  var id2015 = charIDToTypeID( "null" );
  var ref287 = new ActionReference();
  var id2016 = charIDToTypeID( "Lyr " );
  var id2017 = charIDToTypeID( "Ordn" );
  var id2018 = charIDToTypeID( "Trgt" );
  ref287.putEnumerated( id2016, id2017, id2018 );
  desc416.putReference( id2015, ref287 );
  var id2019 = charIDToTypeID( "FTcs" );
  var id2020 = charIDToTypeID( "QCSt" );
  var id2021 = charIDToTypeID( "Qcsa" );
  desc416.putEnumerated( id2019, id2020, id2021 );
  var id2022 = charIDToTypeID( "Ofst" );
  var desc417 = new ActionDescriptor();
  var id2023 = charIDToTypeID( "Hrzn" );
  var id2024 = charIDToTypeID( "#Pxl" );
  desc417.putUnitDouble( id2023, id2024, dx );
  var id2025 = charIDToTypeID( "Vrtc" );
  var id2026 = charIDToTypeID( "#Pxl" );
  desc417.putUnitDouble( id2025, id2026, dy );
  var id2027 = charIDToTypeID( "Ofst" );
  desc416.putObject( id2022, id2027, desc417 );
  executeAction( id2014, desc416, DialogModes.NO );
}

答案 1 :(得分:0)

我会使用大多数Linux发行版上安装的 ImageMagick 执行此操作,并且可以在macOS / OSX和Windows上免费使用。您只需在“终端/命令提示符”中键入命令。

最简单的是,你可以像这样并排追加两张图片:

magick stave1.png stave2.png +append result.png

enter image description here

您可以像这样从上到下追加图片:

magick stave1.png stave2.png -append result.png

enter image description here

区别在于+/-之前的append符号。

您还可以并排追加两张图片,然后从上到下追加结果:

magick stave1.png stave2.png +append \
    \( stave1.png stave2.png +append \) -append result.png

enter image description here

你也可以创建一个你喜欢的任何颜色的大画布(我选择洋红色,这样你就可以在白色的StackOverflow背景上看到它)和splat(一个技术术语,意思是&#34;仔细定位&#34; ; )您喜欢的图像,并将其保存为您提出的PDF格式。

magick -size 1000x400 xc:magenta            \
    stave1.png  -geometry +30+10 -composite \
    stave2.png -geometry +550+200 -composite result.pdf

enter image description here

如果您不幸使用Windows,引用会有一些差异。我认为,我在行尾(延续字符)的斜线由Windows中的抑扬符(^)表示。并且在Windows中可能不需要括号前面的斜杠。