ぷろぐらみんぐ帳

C#とかJavaScriptとか

Tumblrのテキスト投稿でLightBoxを独自導入して使う

Tumblrにはbuilt-inのLightBoxがあり、カスタムHTML編集で簡単に導入することができる。以下のサイトで紹介されているのがこれを用いた方法。 f-u.seesaa.net しかし、これはどうも写真投稿限定のようで、テキスト投稿になると画像のURLやサイズをbuilt-inの…

OpenCvSharp3で画像合成

メモがてらに。OpenCV独特のMat形式の扱いに慣れるのが大変だった。 hotspring.jpgはWikipediaより。これとレナをアルファブレンディングで合成してみる。 var bigImg = new Mat("hotspring.jpg"); using (var smallImg = new Mat("lenna.png")) { //貼り付…

C#でLanczos法による画像リサイズ

画像をリサイズ+αをするプログラムを作りたくなったので、Lanczos法の実装を行ってみた。 自力で実装 クォリティはさておき、とりあえず一回ぐらい自力で実装してみようということでまずは考え方から。このサイトが参考になった。 http://cafe.mis.ous.ac.j…

VisualStudioで生のReact.js+linq.js

前々からやってみたかったReact.jsを触ってみた。詳しいことはまだちゃんと把握していないぺーぺーなのだが、思想が.NETのWPFやRxそのものなので親近感があったので。.NETっぽくしたかったのでlinq.jsも使ってみた。結論から言うと意外と相性が良かった。 プ…

JavaScriptの日付計算を(少し)楽にする

JavaScriptで日付計算やったら発狂しそうになったんで、多少楽にする方法を考えた。 C#みたいにAddHours()で時間計算する関数を追加してみた(C#の日付計算も結構地雷あってハマるからあんまり両手を上げて褒められないのがアレ)。 Dateの拡張 Date.prototy…

NaNのみ除外する数値判定

JavaScriptの闇が深い真偽値の話。NaNを含む数値列に対して一括計算するときにどうする?という問題。 isNaN()の場合 NaNのみ判定したければisNaN()という関数がある。ECMAScript 1stから対応。とりあえず評価用に次のようなtest関数を作ってみる。 develope…

linq.jsをVisualStudioで使う

C#に慣れているとJavaScriptでもLINQを使いたくなることがある。linq.js自体の使い方はいろいろ探すと出て来るが、JavaScriptのIDEとしてVisualStudioを使うことができるのでVS内で完結させてみた。IntelliSenseのおかげでほとんどC#と同じような感覚で扱え…

連想配列のJSONをパースする

JSONを扱っているとたまにこのような連想配列の文字列に出くわすことがある。 { "fruits": { "1": { "key": 1, "value": [ "apple", "りんご", 150, "青森県" ] }, "2": { "key": 2, "value": [ "melon", "メロン", 600, "茨城県" ] }, "3": { "key": 3, "va…

任意の文字の繰り返し回数を検出する

特定の文字列の繰り返しを検出したいなら正規表現を使うのが王道だが、繰り返す文字列が任意だと一筋縄にはいかないことがある。例えば、 hogehogeeeeehoggggggge という文字列があったとして、2文字以上連続した箇所とその文字と繰り返し回数を検出したい場…