いわずと知れた、Adobe社の画像処理ソフト。バージョンはCSを使用中。
「接続」とは別にPhotoshop用語ではないが、広い領域の画像を表現するのに、部分部分の複数の画像ファイルをジグソーパズルのように接続して大きい画像を仕上げる様を表現したつもり。この方法のメモ
こんな場合には、まずpngなりjpgなりの似たような大量の画像ファイルありきで、まずこれを一気に配置する必要がある。これはこのページ内のスクリプトを使う。
最初の1枚を適当な場所に置く。そしてそれに接続できるピースのレイヤを半透明度50%くらいにする。こうすると最初のピースとの重複部分を重ねるのがとてもやりやすい。そしてこのレイヤースタイルをコピーしておく。
重ね終えたらレイヤースタイルを消去し不透明に戻す。そして3枚目のピースにレイヤースタイル(半透明50%)をペーストとすると一瞬でこれも半透明となるので、2枚目に重ねる。これを順次繰り返す。
最後にレイヤメニューから画像を統合などとして、レベル補正を行うと無事に巨大画像が完成する。仕上がりにこだわるならレイヤ毎に補正した方がよいがこれは面倒。
今までバッチ処理でレベル補正した後にIllustrator上でネチネチ接続していたため、完成後の画像の切取り等諸処理が面倒だったが、Photoshop上で接続すればとっても楽なことに気づいた今日という日なのであった。
photoshopに限らず、単純な繰り返しはコンピュータにやらせるべきである(人間がやるべきではない)。photoshopには、このためにバッチ処理というものが用意されており、複数のファイル(同一ディレクトリ内)に同じアクションを施せる。JavaScriptでスクリプトを記述することもできるが、バッチ処理の方がお手軽で手間対効果が高い。とりあえず的な方法を以下に記述した。
ファイル->読み込み->PDF画像 とすると、指定したPDFから画像部分だけを抜き出して開いてくれる。 上のバッチ処理と組み合わせるとPDFの図をほぼ機械的に画像ファイルとして書き出すことができる。
ただしファイル名が長いと、「Web用に保存」する際のデフォルトのファイル名が途中で途切れて各PDF画像について同じファイル名となってしまい、バッチ処理を行うと次々に上書きされてゆくハメになる。その場合、PDFをあらかじめ短かいファイル名に変更しておけば良い。
スクリプトによる操作の記述が可能。詳しく見てないが、Illustratorのそれよりも高機能そうな印象を受けた。
何枚もの画像ファイルを一気に配置させたいと思った。いちいち「開く」→「全選択、コピー」→「ペースト」→「閉じる」→「レイヤの名前を適当に変更」なんてことをやっていたら気が狂うので困ったと思っていた時に書いたもの。
try { folderObj = Folder.selectDialog("where are the files ?", Folder.current); if(null == folderObj) throw "user canceled"; targetExtension = prompt("extension of the images","png"); if(null == targetExtension) throw "user canceled"; fileList = folderObj.getFiles("*." + targetExtension); if(fileList.length == 0) throw "no images"; theDoc = activeDocument; for (i=0; i<fileList.length; i++) { open(fileList[i]); activeDocument.selection.selectAll(); activeDocument.activeLayer.copy(); activeDocument.close(SaveOptions.DONOTSAVECHANGES); theDoc.paste(); theDoc.activeLayer.name = fileList[i].name; } } catch(e) { alert("Error: " + e); }