0

您好,我最近为我的 UNI Computing 课程创建了一个 C 程序,它在 localhost:2020 生成一个 Web 服务器,并发送一个 Mandelbrot 集的 bmp 文件。如果您不知道那是什么,请不要担心,它的 url 部分很重要。URL 格式如下

http://X_(x coordinate)_(y coordinate)_(Zoom Level).bmp

所以
http://localhost:2020/X_-0.15_1.03_56.bmp

返回

x:-0.15
y:1.03
缩放:56

我的目标是有一个自动化过程,它可以在 x,y 位置(在代码中很好)并重复从服务器加载图像,每次缩放级别增加 0.01 并将其保存到文件夹,或者最好将它们全部加载到要作为视频呈现的文件中。我很清楚这在 C 中会更容易做到,只需将其保存到文件中,但我的目标是让自己熟悉 applescript/automator 或类似的程序来完成这样的任务。它旨在为我自己提供一次有趣的学习体验,我将非常感谢我能得到的任何帮助,谢谢。

4

1 回答 1

1

这样的事情可能对您的部分任务有用。我们正在使用 unix 命令行实用程序“curl”下载所有图像(在每个缩放级别)。每个图像都以 url 中的名称保存到您选择的文件夹中。我们将这段代码放在一个重复循环中,这样我们就可以增加缩放级别。

该脚本显示了很多东西,特别是如何将变量直接插入到一个applescript(例如硬编码)以及如何从用户那里获得输入。它还展示了如何从一个applescript(例如curl)中运行命令行实用程序。

所以这个脚本应该让你开始。看看有没有帮助。

-- hard-coded variables
set minZoomLevel to 0
set maxZoomLevel to 10
set zoomIncrement to 0.1

-- get user input variables
set outputFolder to choose folder with prompt "Pick the output folder for the images"
set xDialog to display dialog "Enter the X coordinate" default answer ""
set yDialog to display dialog "Enter the Y coordinate" default answer ""

set posixStyleOutputFolder to POSIX path of outputFolder
set x to text returned of xDialog
set y to text returned of yDialog

set i to minZoomLevel
repeat while i is less than or equal to maxZoomLevel
    set fileName to "X_" & x & "_" & y & "_" & (i as text) & ".bmp"
    set theURL to "http://localhost:2020/" & fileName
    do shell script "curl " & theURL & " -o " & quoted form of (posixStyleOutputFolder & fileName)
    set i to i + zoomIncrement
end repeat
于 2012-04-15T14:18:45.110 回答