我有大约100张乐谱文件,彼此包含音符。我现在想做的是创建一长串笔记。
所以我需要做以下事情:
所以我有这样的文件:
分为两部分:
现在我想将它们一起添加到一行(自动)
我得到了第一部分,但第二部分有一些问题。任何人都可以告诉我是否有一种方法可以加载1张图片并将其放置在某个x,y坐标上,然后在另一个特定的x,y坐标上加载另一张图片?认为这需要相当于Photoshop的VBA / Excel。
有什么想法吗?
答案 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
您可以像这样从上到下追加图片:
magick stave1.png stave2.png -append result.png
区别在于+/-
之前的append
符号。
您还可以并排追加两张图片,然后从上到下追加结果:
magick stave1.png stave2.png +append \
\( stave1.png stave2.png +append \) -append result.png
你也可以创建一个你喜欢的任何颜色的大画布(我选择洋红色,这样你就可以在白色的StackOverflow背景上看到它)和splat(一个技术术语,意思是&#34;仔细定位&#34; ; )您喜欢的图像,并将其保存为您提出的PDF格式。
magick -size 1000x400 xc:magenta \
stave1.png -geometry +30+10 -composite \
stave2.png -geometry +550+200 -composite result.pdf
如果您不幸使用Windows,引用会有一些差异。我认为,我在行尾(延续字符)的斜线由Windows中的抑扬符(^
)表示。并且在Windows中可能不需要括号前面的斜杠。