none
XAMLからイメージファイルの生成 RRS feed

  • 質問

  • XAMLデータ(特にCanvas)からラスターイメージ(jpegなど)の生成は可能でしょうか?

    また、可能である場合、制限/処理方法などの記載されたリファレンスの所在を教えて頂けないでしょうか?

    2007年2月23日 7:58

すべての返信

  • element にイメージ化したい要素 (Canvas でもなんでも FrameworkElement の子孫なら可) が入っているとすると、

                // ビットマップに描き出す。
                FrameworkElement fe = element as FrameworkElement;
                RenderTargetBitmap bmp = new RenderTargetBitmap((int)fe.ActualWidth, (int)fe.ActualHeight, 96, 96, PixelFormats.Pbgra32);
                bmp.Render(element);

                // ビットマップの内容をファイルに保存する。
                BmpBitmapEncoder encoder = new BmpBitmapEncoder();
                encoder.Frames.Add(BitmapFrame.Create(bmp));
                using (FileStream stream = new FileStream(@"c:\test.bmp", FileMode.Create))
                {
                    encoder.Save(stream);
                }

    といったコードでイメージ化できました。
    すみませんが、これ以上の詳しいことはわかりません。RenderTargetBitmap あたりを調べてみてください。

    2007年2月23日 11:05