クライアント側でラスタライズ

これまでPNGを生成するのにサーバ側でSVGPNGの変換を行っていましたが、このラスタライズの仕組みを大きく変えて、クライアント側でビットマップデータを生成するように変更中です。

no title

まだ試験的ですが、ドローエディタの「Save&Publish」ボタンを押すと、クライアント側でラスタライズしたデータを送信して保存します。上の図もこの機能でPublishしたものなのでフォントは自分の手元にあるMSゴシックが使われています (これまで通り保存するとサーバ上のIPAフォントが使われる)。

クライアント側でラスタライズすることで

  • 手元にあるフォントの使用
  • ドロップシャドウやグローのようなエフェクト
  • 外部のJPEGPNG画像の取り込み
  • SVGではできなかった表現

といった表現力の大幅アップができるようになる予定。(まだどれもできてませんが)
個人的にはサーバ上にフォントを置く必要がなくなるのでフォントのライセンスを気にする必要がなくなるのが重要だったりします。テキスト表現はこれから特に強化していきたいところ。

現状では「ラスタライズ処理が重い」「送信が重い」「曲線のレンダリングが汚い」などなどの問題があるのでまずはその辺をクリアしなければ。
あとSVG出力を今後もサポートしていくかどうか悩み中。今まではPNGに変換するための中間形式として必須だったけど、その必要もなくなってしまうので。