我对通过 Javascript 编写 Photoshop 脚本有一个基本概念。
我想在我的 Photoshop 脚本中使用来自http://www.wunderground.com (Api) 的数据。
但不知道如何请求(访问)这些数据。
我对通过 Javascript 编写 Photoshop 脚本有一个基本概念。
我想在我的 Photoshop 脚本中使用来自http://www.wunderground.com (Api) 的数据。
但不知道如何请求(访问)这些数据。
我可以做那种事情,但我不确定它有多笨重——可能有更简单的方法我不知道——所以我们会看看其他人是否想出更好的方法。
首先,找到您的 PHP 所在的位置,如下所示:
which php
/usr/local/bin/php
所以我看到我的在/usr/local/bin/php
. 我的 PHP 脚本的第一行需要它。
现在制作一个访问 Wunderground API 的独立 PHP 脚本。我没有密钥,所以我实际上并没有调用他们的 API,而是注释掉了调用,然后伪造了结果。所以我把它保存为/Users/Mark/tmp/wunderground.php
#!/usr/local/bin/php
<?php
// $json_string = file_get_contents("http://api.wunderground.com/api/Your_Key/geolookup/conditions/q/IA/Cedar_Rapids.json");
// $parsed_json = json_decode($json_string);
// $location = $parsed_json->{'location'}->{'city'};
// $temp_f = $parsed_json->{'current_observation'}->{'temp_f'};
// echo "Current temperature in ${location} is: ${temp_f}\n";
echo "Current temperature in 36";
?>
我像这样制作那个可执行文件:
chmod +x /Users/Mark/tmp/wunderground.php
并像这样运行它:
/Users/Mark/tmp/wunderground.php
Current temperature is 36
这一步必须在你做任何其他事情之前起作用,所以我在这里单独测试它......看起来不错!
现在我写了一个 Photoshop Actionscript/Javascript 的东西并将它保存为<Photoshop>/Presets/Scripts/Test.jsx
alert("Hello world!")
app.system("/Users/Mark/tmp/wunderground.php > /Users/Mark/result.txt")
var w = new File("/Users/Mark/result.txt");
w.open('r');
var str = "";
while(!w.eof)
str += w.readln();
w.close();
alert(str);
您会看到它PHP
在第二行执行脚本并将结果保存在一个文件中,然后我读取并显示alert()
.
所以,我在编辑我的脚本后重新启动 Photoshop(它只在启动时解析它们),然后我进入 PhotoshopFile->Scripts
并选择Test.jsx
这是它的外观: