fc2ブログ

青柳 臣一 ブログ(趣味系)

[Silverlight] Silverlight 3 で表示している内容を印刷する

"Printing" in Silverlight 3 with WriteableBitmap より
これはすごいな。

Silverlight で表示している内容のスナップショットを印刷する方法が紹介されています。
ブラウザの印刷機能を使えば Silverlight で表示している内容も含めて印刷してくれると思いますが、ここで紹介されているのはまったく別の方法です。

まず、WriteableBitmap クラスを使って Canvas をビットマップ化します。
(WriteableBitmap には UIElement を渡せるので Canvas でなくても何でもいいです)

続いて Joe Stegman 氏の PNG encoder の EditableImage クラスを使って上記のビットマップを PNG にして、そのバイト配列を Base64 化した文字列として取り出します。

この Base64 化した PNG 文字列を、あらかじめ HTML 上に用意してある <input type=”hidden”> な項目の value としてセットしてやり、サブミット (PostBack) してやります。

あとは、これをサーバで受け取って、PNG を組み込んだ PDF を作るなりなんなりしてレスポンスを返してやれば OK です。

なるほどなぁ。
実にすばらしい。

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://shinichiaoyagi.blog25.fc2.com/tb.php/190-1424ee99
この記事にトラックバックする(FC2ブログユーザー)

[Silverlight]Silverlight 3 では WritableBitmap てのが追加されたんですね

SLでImageOpenedイベントの拾い方 ここで回答するまで知りませんでした。そもそも Silverlight 3 で何が追加されたか全部把握してないけど。 WritableBitmap で調べてみると、青柳 臣一 ブログ(総合) &#91;Silverlight&#93; Silverlight 3 で表示している内容を印刷する

  • 2009/07/30(木) 06:09:30 |
  • お だ のスペース