エバンジェリスト高橋です。
相談科にご質問をいただいたのでご紹介します。
相談内容:現在私はお絵かきタイプのストアアプリを開発しています。ユーザーが子オブジェクトとして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の情報は随時ご紹介していきますので、ぜひそちらもお楽しみにしてください。