ただの備忘記録

忘れないように記録を残します。忘れるから記録に残してます。そして、その記録が役立つといいかな。

川越パンマルシェ

2015年05月31日 | 日記

今日は川越市の小江戸蔵里で行われた川越パンマルシェに行きました。
しかし、到着してみると中からの行列が外に伸びていて、中も人がいっぱいで通れそうにありません。通り過ぎてしまいました。
ふと、入った路地に団子屋を発見。醤油ダレの焼きだんご(60円)とあんだんご(70円)のみで、70年も営業しているとか。2本食べましたよ。ご主人に言われたとおりややしょっぱいタレでした。みたらしとは違いますね。私は甘いタレより好きな感じです。
その後もIngressをしながら辺りを行ったり来たりしていたのですが、歩きすぎて暑くて堪らなくなり、一端小江戸蔵里の建物内に避難しました。ここでサツマイモオレ大福と、甘夏とグレープフルーツの大福を購入。
パンも1つくらい買ってみようと、行列のないパン屋でホットドッグを買いました。コッペパンみたいなパンにソーセージを挟んだだけというシンプルなもの。パンは確かに皮はパリッとして中はモチッとして好きな食感でしたが、500円は高かったかも知れません。
その後、ドトールで一休みしながら、大福を食べました。結構冷たくて癒やされました。

とにかく暑い一日で、タオルは持ってて良かったけど、帽子は必須だったかな。


写真展とボードゲームの会

2015年05月30日 | 日記

今日は朝からスタジオで作業をし、午後は目黒へ写真展を見に行ってきました。
滋賀にいたときからTwitterではよく話をしていた方で、同じ滋賀県民なので話が弾みます。
写真展は数人の写真家合同のもので、それぞれが4月の一ヶ月間を自らのテーマで30枚の写真を撮っています。それらを写真家毎にカレンダー式に並べたて展示していました。
カメラって、見えてるものと撮った時の印象が変わるので難しいですね。空間と時間を切り取って、そこに個性が生まれるのが面白いです。まあ、カメラはデジカメしか扱えませんけど。

その後、恒例のボードゲームの会に参加するため月島へ移動しました。
到着後、早速枯山水をやりまして、綺麗に庭を完成させることができました。
次に参加したカードゲームでは、手のひらに置いた7つの絵柄の描かれたカードを、他人と同じ絵柄を見つけて自分のカードを他人になすりつけるというゲームです。これが2回連続負けまして、その後ようやく絵柄が見えるようになってきました。最初にやられるとカードが替わってしまうので、すぐに反応できなくなります。これも慣れが必要ですね。
そして、ようやくカタンの開拓者たちをやりました。念願のカタンでしたが序盤の作戦に失敗して、道も村も作るのに苦労して完敗でした。しかし、少しコツが分かった気がします。

遊びが終わったら、次のお楽しみはもんじゃです。
ところが、お店に着いた途端に大きな地震。揺れは大きく長かったけど、電車の揺れか?っていうくらいのものでした。
帰りは月島から有楽町へ地下鉄を乗ったのですが、JRの有楽町駅に着いたらホームは人が溢れていました。京浜東北線にすぐに乗れたのですが、どうやら山手線が復旧した直後だったようで、地震の影響が残っていて電車は3時間遅れになっていました。
電車がしばらく徐行運転していたのもあり、駅でタクシーも混雑していたので歩いたこともあり、結局自宅に戻ったのは1時頃でした。

帰宅して汗だくだったので風呂入ったら寝るのは2時になってしまいました。


浦和で蕎麦とカフェ

2015年05月24日 | 日記

朝からカフェに行こうと思って浦和へ出かけました。
しかし、目的のお店が昼からの営業だったため、諦めてウロウロします。Ingressをしながら行ったり来たりを繰り返し2時間ほど時間を潰しながら、次の目的地へ。

お昼には少々早めでしたが、11時の開店に合わせて蕎麦屋に到着。「分上野藪かねこ」で鴨せいろう(1650円)と板わさ(850円)をいただきました。
店内に近くの美術館のポスターが貼ってあったので、うらわ美術館に寄ってみました。

「幕末明治の浮世絵展」をやっていましたので、ジックリと鑑賞してきました。やはり漫画のルーツはここにもあるなと思います。色を外してみると線画だけがしっかりと残りますし、それは今の漫画となんら変わりません。波や水の流れにおいては既に記号化された描き方になっています。

美術館の後はもう一度カフェへ向かい、カフェラテとスコーンでしばしの休息。

その後は、伊勢丹のポール・スミスに寄って見るだけ見て帰ってきました。


早稲田の三朝庵

2015年05月17日 | 日記

今日は朝から蕨市にある星乃珈琲へ。久しぶりのフレンチトーストモーニングいただきました。
その後、JRで王子駅まで移動して、都電荒川線で早稲田まで出かけました。

カレーうどんとカツ丼を考案した蕎麦屋、三朝庵に行くのが目的です。

最初に食券を買うのだけど、そこは女将さんの仕事で、手渡しなのです。カツ丼と蕎麦のセットメニューは1000円。
蕎麦屋というより昔ながらの食堂って感じ。カツ丼ってあまり食べたことなかったけど、案外あっさりしてました。蕎麦は細くて白い更科だったかな。ツルツル食べやすいです。

店内にはサイン色紙も沢山あります。この店を漫画で紹介した山本おさむ先生はもちろん、藤子不二雄先生、永井豪先生の色紙もありました。
なぜか修学旅行生の寄せ書きまで飾ってあります。なんか懐の深さを感じますね。

山本おさむ先生が「そばもん」で紹介されていた他の蕎麦屋にも行きたかったのですが、どこも日曜日が定休日でした。

川口に戻ったものの、まだ14時だったのでネットカフェへ行って、進撃の巨人を1巻から16巻まで読んできました。7時間もかかりましたよ。


【Photoshop JSX Script】ファイル変換

2015年05月08日 | JavaScript

【基本機能】
Photoshopのスクリプトを使って、フォルダ内のファイルを一括変換します。

読み込めるファイル(変換前のファイル)はフォルダ内の全ファイル、もしくは拡張子で指定したファイルに制限することができます。
出力設定はpsd、jpg、pngの3形式に対応しています。

【スクリプトの準備】

ソースに記述したスクリプトをテキストファイルに貼り付け、ファイル名を「ファイル変換.jsx」として保存します。
「psd→jpg変換.jsx」としても分かりやすいです。拡張子さえ変更しなければ、ファイル名は自由に付けてください。
Photoshopが入っていないと起動しません。

【起動方法】
その1:スクリプトを呼び出してから開くダイアログでフォルダを選択します。
その2:処理したいフォルダにあるファイルを1つ開いてからスクリプトを実行すると、そのフォルダを選択したことになります。

【設定変更】
現在はPSD形式からJPEG形式への変換設定になっています。
fe1とfe2を変更することで処理ファイルの対象を変更できます。その他、出力の細かな設定は「保存オプションの設定」で行ってください。

【ソース】

//ファイル変換
#target photoshop

//設定項目(psd,jpg,png)
fileExp = new Array("*","psd","jpg","png");
fe1 = 1; //変換前の拡張子
fe2 = 2; //変換後の拡張子

//保存オプションの設定
if (fe2 == 1) {
    //PSD
    var saveOpt = new PhotoshopSaveOptions;
    saveOpt.alphaChannels = true; //αチャンネルを保存
    saveOpt.annotations = true; //注釈
    saveOpt.embedColorProfile = true; //カラープロファイルを保存
    saveOpt.layers = true; //レイヤー保存
    saveOpt.spotColors = true; //スポットカラー保存
} else if (fe2 == 2) {
    //JPEG
    var saveOpt = new JPEGSaveOptions();
    saveOpt.embedColorProfile = true; //カラープロファイルを保存
    saveOpt.quality = 10; //品質:0~12(12が最高画質)
    saveOpt.formatOptions = FormatOptions.STANDARDBASELINE //ベースライン(標準)
    //saveOpt.formatOptions = FormatOptions.OPTIMIZEDBASELINE; //ベースライン(最適化)
    //saveOpt.formatOptions = FormatOptions.PROGRESSIVE; //プログレッシブ
    //saveOpt.scans = 3; //プログレッシブ時のスキャン数:3~5
    saveOpt.matte = MatteType.NONE;
} else if (fe2 == 3) {
    //PNG
    saveOpt = new PNGSaveOptions();
    saveOpt.interlaced = false; //インターレース
}

selFolder();

//フォルダを選択
function selFolder() {
    var n = documents.length; //開いているデータの数
    if (n > 0) {
        //アクティブドキュメントのパスを取得
        var folderPath = activeDocument.path;
        var folderObj = new Folder(folderPath);
    } else {
        //ダイアログの表示
        var folderObj = Folder.selectDialog("フォルダを選択してください。");
    }

    //フォルダの確認
    if (folderObj) {
        //全てのファイル
        fileList = folderObj.getFiles("*." + fileExp[fe1]); //ファイルはアルファベット順になっている
        //alert(fileList.length+"個のファイルがあります");
        
        //フォルダ名をデコード
        pathName = decodeURIComponent(folderObj.name);
        
        //ファイル数の取得
        edPage = fileList.length;
        
        //ファイル数の確認
        if (edPage > 0) {
            //開始ファイルと終了ファイル
            stPage = 1;
            stFile = decodeURI(fileList[stPage-1].name);
            edFile = decodeURI(fileList[edPage-1].name);
        
            //ダイアログ初期化
            var newDialog = new createDialog_DLG();
            initializeBuilder(newDialog);

            //処理したファイル名のリスト
            text_fileNames = "";

            //ダイアログ表示
            if(runBuilder(newDialog)){
                with(newDialog){
                    //ページ番号取得
                    //stPage = parseInt(pnl.start_page.text,10);
                    //edPage =parseInt(pnl.end_page.text,10);
                }
        
                for (var i=stPage-1; i < fileList.length; i++) {
                    var doc = fileList[i];
                    //ファイルを開く
                    open(doc);
                    //カラーモード確認
                    fileConvert(doc);
                }
            }

            //結果報告
            if (text_fileNames != "") {
                alert(text_fileNames);
            }
        } else {
            alert("処理対象のファイルが見つかりません。");
        }
    }
}

//ダイアログ(一括変換処理)
function createDialog_DLG(){
    var dialogResource = "dialog { text:'一括変換処理', bounds:[0, 0, 260, 200], ";
    dialogResource += " pnl: Panel { text:'フォルダ情報', bounds:[15, 8, 245, 136], ";
    dialogResource += " str: StaticText { text:'フォルダ:', bounds:[10, 23, 90, 36],  }, ";
    dialogResource += " str: StaticText { text:'" + pathName + "', bounds:[60, 23, 220, 41],  }, ";
    dialogResource += " start_file: StaticText { text:'" + stFile + "', bounds:[110, 57, 220, 70],  }, ";
    dialogResource += " str: StaticText { text:'開始:', bounds:[20, 57, 90, 70],  }, ";
    dialogResource += " start_page: EditText { bounds:[60, 57, 100, 75],  }, ";
    dialogResource += " end_file: StaticText { text:'" + edFile + "', bounds:[110, 90, 220, 103],  }, ";
    dialogResource += " str: StaticText { text:'終了:', bounds:[20, 90, 90, 103],  }, ";
    dialogResource += " end_page: EditText { bounds:[60, 90, 100, 108],  }, ";
    dialogResource += " }," ;
    dialogResource += " cancel: Button { text:'キャンセル', bounds:[50, 158, 112, 182],  }, ";
    dialogResource += " running: Button { text:'実行', bounds:[150, 158, 212, 182],  }, ";
    dialogResource += " }";

    var dlg = new Window( dialogResource );
    dlg.center();
    return dlg;
}
// ダイアログ(動作設定)=============================
function initializeBuilder(builder){
    with(builder){
        //ページ番号チェック
        function pageCheck() {
            stPage = parseInt(pnl.start_page.text,10)
            edPage = parseInt(pnl.end_page.text,10);
            //数値以外の場合
            if (isNaN(stPage)) {stPage = 1;}
            if (isNaN(edPage)) {edPage = fileList.length;}
            //大小が逆の場合、入れ替え
            if (stPage > edPage) {
                var n = stPage;
                stPage = edPage;
                edPage = n;
            }
            //最小値と最大値
            if (stPage < 1) {stPage = 1;}
            if (edPage > fileList.length) {edPage = fileList.length;}
            //表示変更
            pnl.start_page.text = stPage;
            pnl.end_page.text = edPage;
            pnl.start_file.text = decodeURI(fileList[stPage-1].name);
            pnl.end_file.text = decodeURI(fileList[edPage-1].name);
        }
    
        //初期値
        pnl.start_page.text = stPage;
        pnl.end_page.text = edPage;
        
        //ボタンイベント
        cancel.onClick = function(){ this.parent.close( false ); };
        running.onClick = function(){ this.parent.close( true ); };
        //ファイル名変更
        pnl.start_page.onChange = function() {pageCheck();};
        pnl.end_page.onChange = function() {pageCheck();};
    }
}

// ダイアログ(起動・実行)===================================================
function runBuilder(builder){
  return builder.show();
}

function fileConvert(builder) {
    //アクティブドキュメントを取得
    var doc = activeDocument;
 
    //パス取得
    var docPath = doc.fullName.fsName.toString();
    docPath = docPath.substring(0,docPath.lastIndexOf("\\")+1);
    //alert(docPath);

    //ファイル名取得
    var docOldName = doc.name;
    var docName = docOldName.substring(0,docOldName.lastIndexOf("."));
    
    //元データが2階調の場合
    if ((fe2 == 1) || (fe2 == 2)) {
        if (doc.mode == DocumentMode.BITMAP) {
            doc.changeMode(ChangeMode.GRAYSCALE);
        }
    }

    //別名保存の設定
    var docNewName = docName + "." + fileExp[fe2]
    var saveFileObj = new File(docPath + docNewName);
    
    //別名で保存
    try {
        activeDocument.saveAs(saveFileObj, saveOpt, true, Extension.LOWERCASE);
        //記録
        text_fileNames += docOldName + " → " + docNewName + "\n";
        //ファイルを閉じる
        activeDocument.close(SaveOptions.DONOTSAVECHANGES);
    } catch(msg) {
        alert(msg + " Can't save it.");
    }
}


映画「ビリギャル」

2015年05月03日 | 映画

高校二年生なのに学力は小学4年生並という女子高生さやかが慶應義塾大学に合格するという実話を元にした映画です。

勉強する切っ掛けが、無期停学。やることのない娘に母親が勧めたのは塾での勉強。
父は弟をプロ野球選手にすることだけに心血を注ぎ、娘には無関心。しかし、母は違う。何度学校に呼び出されても娘の味方を貫く。そんな母をずっと見てきたさやかだから、母の「やってみない?」の一言には素直に従う。
そして、塾での講師(津田)との出会い。彼の前向きな意見に押されて、さやかは意味の分からないままケーオー大学を目指すと決める。
さやかは小学生のドリルを一生懸命にやり遂げる。そうやって自信も付けていき、勉強することを楽しく感じるようになり、高2の夏休みには英語の学力は高校生のレベルに追いつく。
とにかく勉強の仕方が猛烈で、誰にでもできるものではない。父への反発心と母への恩返し、何より津田のやる気を引き出す教えを素直に信じている。

学校でも、家庭でもいくつもの事件が起こり、笑いもありながら多くの涙を誘う。
ただただ勉強する姿だけではない。心が折れたとき周りがどうするのかも見所です。
是非とも、年頃の子供を連れて家族で見て欲しいと思う映画でした。

エンディングのアイデアも素晴らしい。出演者全員で歌うというだけなのだが、映像がとても楽しい。
映画をみんなで作ったんだっていう喜びが伝わってくる。やり遂げたっていう達成感を一緒に味わっている気がした。
エンディングの間、誰も席を立たなかったのは、感動に浸れるからだと思う。


映画「パトレイバー首都決戦」

2015年05月03日 | 映画

映画を二本見てきました。

まずは朝一の「パトレイバー首都決戦」から。
観客は10人ほど。若い世代にはほとんどなじみがないからでしょうね。更に20数年前の少年マンガなので上の世代も知らないでしょう。

ストーリーは以前作られたアニメ版の数年後で、その時、首都を脅かした犯人、柘植のテロの話を引き継いでいる。
柘植のシンパたちが自衛隊の試験ヘリを強奪し、再び首都を戦争状態にしようと活動し始める。
レインボーブリッジをミサイルで破壊されて事件が開幕するのだけど、見えない戦闘ヘリの仕事にしては目立つだけで特に意味がないように思う。前作を知っていると、その時の事件の発端と同じだと分かるらしい。
その後は、警視庁や都庁を襲撃するのだけど、警視庁襲撃にはミサイルは使わない。ちょうど特車二課の課長が糾弾されているところで、死なせちゃまずいという制作者側の配慮。こういうのって嘘っぽく感じるし、なんでレインボーブリッジの後なのか。隠密行動できるのだから標的としてはこっちが先じゃないのか。と、突っ込みどころがあまりにも多い。
特車二課に公安が接触してきて、なぜかヘリの補給地点となっている工場へ銃を持って潜入。本来の仕事じゃない上に、潜入が簡単すぎる。潜入班が顔の近くでライトを付けていて、敵から狙われやすく即死の危険もある。銃撃戦の中でパイロットがゆっくりとヘリに乗り込むの様子を黙ってみていたり。アクションシーンがかなり嘘っぽい。
弾薬補給を目立つ場所でやって犯行グループが捕まるのは当然だけど、実にあっけない。しかも、トラックや背中に公安が突き止めたダミー会社の名前を堂々と背負っている。
最後にようやく特車二課の出番でパトレイバーが起動する。戦闘ヘリはなぜかミサイルを使わない。しかも、当たらない機銃を撃ちまくる。

映像はとても良かったと思うけど、演出的な絵を作るために嘘の動きを都合良くやり過ぎている。あと、ダラダラと時間をかけた会話シーンも多かった。
何より犯行グループが一体何をしたかったのか全く理解できないまま終わる。どうやら柘植の起こした事件を模しているだけで、ただ戦争状態を引きを超して終わりということらしい。
レイバーの活躍が見れなかったことも残念だけど、目的の分からない話のまま終わったことが一番残念です。