マイクロソフト エバンジェリストのブログ

日本マイクロソフトのエバンジェリストが、技術情報を発信するブログです!

【相談科】 CanvasコントロールをWriteableBitmap型に変換する方法

エバンジェリスト高橋です。

相談科にご質問をいただいたのでご紹介します。

相談内容現在私はお絵かきタイプのストアアプリを開発しています。ユーザーが子オブジェクトとしてImageコントロールを複数配置したCanvasコントロール全体を画像として保存したいのですが、このCanvasコントロールをWriteableBitmap型に変換する方法を試みようとしましたが、書き方がわかりませんでした。どのように実装したらよいのでしょうか?

ああ、来てしまいましたね、この質問。避けては通れないというか、WinRTの発表後しばらくしてみんなが悶えた件です。

銀の弾は無い

単刀直入に言うと、CanvasコントロールをWriteableBitmap に落とし込む簡単な方法は 現在の Windows 8 の WinRT には用意されておりません。Windows Phone や WPFであればそういったメソッドがあったのですが、残念ながらWinRTにはありません。ですので、実装するとしたら、画面上に構成されているものと同じ状態を Writeablebitmap オブジェクト上に作るしかないでしょう。

ただ、Windows 8.1 に搭載されている WinRT にはUIElement からの Writeablebitmap への変換方法が実装されると聞いております。8.1の情報については今後セミナーやWeb等で紹介していきますので是非ご活用ください。

現状申し訳ないです。今後セミナー等で8.1の情報は随時ご紹介していきますので、ぜひそちらもお楽しみにしてください。