// forWeb livedoor blog -- photoshop CS3 // by katsu2. // // web用にリサイズしてウォーターマークを付ける // try { //--------- 可変項目設定 ------------------------------------------------------ var author = "katsu2."; // 著作権者名 var waterMarkString = "http://blog.livedoor.jp/katsu0124/"; // ウォーターマーク文字列 var fontName = "RageItalicLetPlain"; // WMarkフォント var opacity = 65; // WMark透明度 var watermarkColor = new SolidColor(); watermarkColor.rgb.red = 200; // WMark色(R) watermarkColor.rgb.green = 200; // WMark色(G) watermarkColor.rgb.blue = 255; // WMark色(B) var styleName = "forWaterMark"; // WMark適用スタイル // 長辺のピクセル数と解像度を設定 var longerSide = 768; // web用画像サイズ var shorterSide = 0; // 短辺はリサイズ時に計算 var resolution = 72; // リサイズ時の補完方式は次の3種類のどれか // BICUBIC,BICUBICSMOOTHERまたはBICUBICSHARPER var resample_method = ResampleMethod.BICUBIC; //--------- 処理開始 ------------------------------------------------------ // 元のダイアログモードを保存して、開かないように設定 var originalDDialogs = displayDialogs; displayDialogs = DialogModes.NO; // ダイアログを開かないようにする // 元の単位を保存して、単位をピクセルに設定 var originalUnit = preferences.rulerUnits; preferences.rulerUnits = Units.PIXELS; var docRef = activeDocument; //--------- 著作権情報設定 ------------------------------------------------------ docRef.info.author = author; var i = 0; var exif = docRef.info.exif; var year; for (i =0; i < exif.length; i++) { if (exif[i][0] == "原画像データの生成日時") { year = exif[i][1].substr (0, 4); break; } } docRef.info.copyrightNotice = "Copyright (C) " + year + " " + author; //--------- web用にリサイズする ------------------------------------------------------ // 元の画像のサイズを取得 var docWidth = docRef.width.value; var docHeight = docRef.height.value; // 画像が縦長か横長かに応じてリサイズ if (docWidth > docHeight) { // ランドスケープ if (docWidth > longerSide) { // 大きいときだけリサイズ shorterSide = longerSide * docHeight / docWidth; docRef.resizeImage(longerSide, shorterSide, resolution, resample_method); } else { longerSide = docWidth; shorterSide = docHeight; } } else { // ポートレート if (docHeight > longerSide) { // 大きいときだけリサイズ shorterSide = longerSide * docWidth / docHeight; docRef.resizeImage(shorterSide, longerSide, resolution, resample_method); } else { longerSide = docHeight; shorterSide = docWidth; } } //--------- ウォーターマークを付加する ------------------------------------------------------ var watermarkLayer = docRef.artLayers.add(); watermarkLayer.kind = LayerKind.TEXT; watermarkLayer.name = "WaterMark"; watermarkLayer.blendMode = BlendMode.NORMAL; watermarkLayer.opacity = opacity; // テキストレイヤーに文字を入力 var watermarkText = watermarkLayer.textItem; watermarkText.justification = Justification.RIGHT; watermarkText.contents = waterMarkString; watermarkText.font = fontName; watermarkText.size = (shorterSide * 2.3) / watermarkText.contents.length; watermarkText.position = new Array(docRef.width.value * 97 / 100, docRef.height.value * 93 / 100); watermarkText.color = watermarkColor; if (styleName != "") { watermarkLayer.applyStyle(styleName); } // レイヤーを統合する docRef.flatten(); // 単位の設定を元に戻す preferences.rulerUnits = originalUnit; // ダイアログモードを元に戻す displayDialogs = originalDDialogs; } catch (e) { // alert (e); }