SparkProject勉強会#8

毎月恒例のSpark勉強会、今回は項目数は少ないのですが、熱かったです!

最新情報 by Adobe オカダさん(30min)

Adobeさんからの最新情報ですが、今回はAdobe Scene7の紹介、ということで、Adobeのオカダさんの話でした。

Adobe Scene7とは、私は初めて聞いたのですが、欧米ではすでに結構使われていて有名らしいオンデマンドリッチメディアソリューションとのこと(アメリカ Top100のECサイトのうち40サイトは使っているらしい)。日本ではまさにこれから売りはじめるところらしいです。
主にE-commerceで使えるソリューションパッケージで、データサーバのホスティングとそのデータを取り扱う仕組みをSaaSとして販売している。サービスユーザ(E-commerceの提供側)はコンテンツ(主に画像)を預けて、必要に応じて当該コンテンツを配信するのですが、同じリソースを元に7つの機能を使える。だからScene7というのかな。
その7つとは、Dynamic Imaging、eCatalgs、Media Portal、eVideos、Visual Configurators、Web-to-Print、Targetd Email & Print。まぁ、最初にこれを聞いたときには具体的にイメージが出来なかったけど、例を挙げてもらえてそれで理解できた。
要は製品の画像を一つアップする。通常であれば、それを、サムネイル用、詳細確認用、プリント用、email用、などに加工する必要があるのだけど、その加工作業をサーバ側でリクエストに応じて動的にやってくれる、ということなのだ。
その仕組みがおもしろくて、URLベースでリクエスト出来たりする。
例えば、"Jacket.jpg"という画像があったとして、通常であれば、"Jacket.jpg"とアクセスするところで、"Jacket?wid=200"とアクセスすると、幅200pixelの画像が返ってくる、ということ。この引数によるオプションは約200もあって、その中で色を変えたりも出来るらしいのだ。この色変更の仕組みはよく分からなかったけど、「ちょっと色調を変える」というレベルではなくて、服の色を全く(しかもデザインにぴったり合わせて)変えてしまうのだ。どういう画像素材が必要なのかは分からなかったけど、そのクォリティの高さはさすがAdobeという感じ。

Spark近況 by yossyさん(15min)

SparkProjectが今日でちょうど2周年!おめでとうございます!
今では、130人以上のコミッタがいて、200以上のライブラリがコミットされているらしい。一覧を見てもパッと見、分かりませんが、結構多いですね!
今回は少なめのコミットだったようです。

  • FlaProfiler
    • 説明ページが追加されたらしい!
    • FlexBuilder3のProfiler機能ライクなツール
    • ちょっと良さそうなので、週末にでも早速試してみたいところです。
  • multitouch
    • マルチタッチライブラリ
    • ソースを見るとserverがあるので、二つ同時に動かす感じかな。
  • Anime
    • Imageディレクトリ内の連番静止画を読み込み、MovieClipのように操作できる
  • chumbyas

AS3で画像処理してQRコードを読んだり by kenoさん(15min)

ロゴスウェア株式会社の上野賢一さんによる発表。
QRコードの画像解析部分を順を追って紹介されていました。個人的には画像処理をやってみたかったので、楽しく聞かせていただきました。
ちなみに、QRコードの使用は「JIS X 0510:2004」にあるとのこと。

  1. グレー化
    • ColorMatrixFilter
  2. 2値化
    • BitmapData.threshold
  3. ラベリング(3つのシンボルを抜き出す)
    • 黒い集合を順番に番号を振っていく
    • 黒:白:黒:白:黒 = "1:1:3:1:1"になっていたらシンボルと判定!
    • BitmapData.getColorBoundRect(←こんなメソッドがあったのか!)
    • BitmapData.copyPixels
    • BitmapData.floodFill
  4. 角度補正
    • Math.atan
    • Matrix.trans
    • Matrix.rotate
  5. タイミングパターン
  6. 位置合わせパターン(右下のみ)を検出
    • 読み込むときの補正に使用
  7. 読み取り完了。残りはデコーダーへ。

これを実装したものをラボサイトにアップしているらしい!とのことで、1年前の記事へリンク
近いうちにSparkProjectにもコミットするかも、とのことで、期待しています。
今回のスライドもアップされたらうれしいなぁ。勉強したいです!

今日からあなたもコミッター by yossyさん(1hour)

最後にyossyさんによる「SparkProjectにコミットするまで」の説明でした。
これが熱い熱い!Subversionの概要から、コミッタとは?という説明などをし、Eseclockというライブラリをライブコーディングしてコミットするところまでを一気に1時間弱でやってくれました。
パッケージの説明で、ドメイン名を使うのが一般的なのですが、libspark.orgは自由に使って可ということを言っておられました。
で、ディレクトリ構成の基本形も説明。

  • Eseclock/
    • branches/ .. 習慣的に作るもの.
    • tags/
    • trunck/
      • src/ ←ソースコード(必要なものだけ)この下に"org/libspark/eseclock"
      • samples/ ←サンプル(あるといい)
桁揃えアルゴリズム

ライブコーディングの中で使われていた桁揃えのコードが、個人的には新しい感じがしたので、メモ。数値を入力したら0で詰めた2桁の数字にして返す、という関数なのですが、なるほど、これは知らなかった。

function ketaSoroe( num:int ) :String{
  return ('0'+n.toString()).substr(-2,2));
}

こういう発見が出来るのもライブコーディングのおもしろさですね。
自分もFlashDevelopを使ってるので、やってることは全部分かったし、そういう上で人の作業を見ていると少し自分のやってることにも自信が持てたりする。

その他の豆知識

WindowssubversionクライアントではtortoiseSVNが有名で、私も使っているのですが、このアプリの名前の読み方を私は間違って覚えていたようです。「トータス」なんですね!(発音→http://ext.dictionary.goo.ne.jp/leaf/ej/tortoise/m0u/tortoise/今まで「トートイズ」って言っていました。。恥ずかしい。
ちなみに、MacOSXSVNクライアントでは、Versionsが有名らしい。覚えておこう。
tagsというディレクトリには、スナップショット時のファイルが全て保存されている、とのこと。

濃密な2時間

今回もいろいろ勉強になりました!ありがとうございます!

発表資料(2009-04-08 追記)

yossyさんによる発表資料が公開されていますので、リンクを張っておきます。