mozapic v2.0リリース

追加機能

顔を覆うだけではなく、さまざまなエフェクトを選択できるように改良

エフェクト一覧
  • 顔全体を覆う:顔全体を覆う
  • 目線を入れる:目線を入れる
  • BR★S:左目に青い炎を付ける
  • ネコミミ:頭にネコミミを付ける
  • ©表示:画像の上に”©Twitterのユーザ名”を表示

GAEのPILで画像の上に文字列を描画する

”©表示”機能を実装する上で問題だったのが、文字列を画像上に描画すること。
オリジナルのPILならImageDrawモジュールとか使えばできるんだけど、
GAEのPILにはそれがない。


まぁ結論から言えば、HTML5::CanvasのfillText(),toDataURL()を駆使すればできる。

  1. にfillText()で文字列を描画
  2. toDataURL()でcanvasbase64文字列に変換*1
  3. それを受け取ってデコードしてimgaes.Image()に渡してやれば文字列画像の出来上がり


まだ画像サイズに合わせた動的な処理をしていないので、
画像が小さいとうまくいかないと思われます。

ところで

fillTextで描画する際、フォントサイズを大きくすると、
それに合わせてcanvasのサイズも大きくしてあげないと文字が縦につぶれてしまうのだけれど、
これどうやって解決すればいいの?

次は

さっさと携帯サイトに対応させたいんだけど、
あまり時間が取れないので年内は無理そう。

X'masとかお正月とか出先で写真撮って〜
みたいな状況下でニーズありそうなんだけどねー


しかし、汎用性のあるサービスを作れれば、
改良の度に新しいことに挑戦できるのがいい。

1発ネタだと、もう弄るモチベーションすら湧いてこないからねー

*1:正確には頭に"data:image/png;base64,"がくっついた文字列