今回はPhotoshopでGPSが出力したXMLデータ内の座標値を読み出し表示するスクリプトです。
textColor = [255, 0, 0];
offsetX = 100;
offsetY = 100;
fSize = 9;
function setUnit(unt){ preferences.rulerUnits = unt; }
function getUnit(){ return preferences.rulerUnits; }
saveUnit = getUnit();
setUnit(Units.PIXELS); // 幅を指定する場合の単位
docObj = activeDocument;
result = "";
CR = String.fromCharCode(13);
filename = File.openDialog("GPSで出力したXMLファイルを指定してください");
fileObj = new File(filename);
flag = fileObj.open("r");
if (flag == true)
{
while(!fileObj.eof)
{
text = fileObj.readln();
if(text.indexOf("<wpt ") > -1) // XML Tag Search
{
xmlData = text.split(" "); // 空白で分割
lat = xmlData[3].substring(5,xmlData[3].length-1);
lon = xmlData[4].substring(5,xmlData[4].length-2);
result += lat+","+lon+CR;
}
}
layObj = docObj.artLayers.add();
layObj.kind = LayerKind.TEXT;
layObj.textItem.font = "Osaka"; // 書体(フォント)を指定
layObj.textItem.size = fSize; // 書体サイズを指定
layObj.textItem.justification = Justification.LEFT; // 行揃え指定
layObj.textItem.color.rgb.red = textColor[0];
layObj.textItem.color.rgb.green = textColor[1];
layObj.textItem.color.rgb.blue = textColor[2];
layObj.textItem.contents = result;
layObj.translate(offsetX,offsetY);
fileObj.close();
}else{
alert("XMLファイルが開けませんでした");
}
setUnit(saveUnit);
文字の色は赤色にしていますが、この色を変更するには先頭行の
textColor = [255, 0, 0];
の数値を変えてください。最初が赤の輝度、次が緑の輝度、最後が青の輝度になります。輝度の範囲は0〜255で0が最も暗く、255が最も明るいものになります。
文字のサイズは2行目の
fSize = 9;
の値を変更してください。この値の単位はポイント(pt)になります。
[
サンプルをダウンロード]