2

Windows 8 Metro用のアプリケーションを作成しています。フレームワークコントロールをイメージにレンダリングしてハードディスクに保存する必要がありますが、方法がわかりません。これにSharpDXを使用できますか?どのようにできるのか?助けてくれてありがとう

4

4 に答える 4

1

これはより正しい答えだと思うので、元の質問でZeeshanが行ったコメントを繰り返したいと思います。

そのための拡張メソッドが winrt xaml ツールキットにあります。 http://winrtxamltoolkit.codeplex.com/.../WriteableBitmapRenderExtensions.cs

nuget 経由でインストールします。

> Install-Package WinRTXamlToolkit.Composition

次を使用して追加します。

using WinRTXamlToolkit.Composition;

xaml をレンダリングします。

var bitmap = await element.Render();
于 2014-07-12T06:04:28.630 に答える
1

このスレッドをたどると、Metro の制限と、Metro が機能しない理由が説明されています。その本質は次のとおりです。

申し訳ありませんが、Xaml を要素にレンダリングしたり、独自のアプリのスクリーンショットをキャプチャしたりしても、リリース バージョンにはなりませんでした。アプリが別のアプリのスクリーンショットをキャプチャできないのは仕様です。

言及されている回避策は次のとおりです。

つまり、Direct2D を使用して図形、テキスト、画像を描画できるということです。それ以外の場合は XAML UI で描画するのと同じ形状。これは、XAML コントロールをレンダリングできることを意味するものではありません。Direct2D を代わりに使用して、同じ結果を得ることができますが、多少手間がかかります。

于 2012-09-28T15:15:15.930 に答える
1

申し訳ありませんが、これは不可能です。WritableBitmap クラスの Render() メソッドは現在、目的を達成するには不十分です。同じ理由で、現時点ではスクリーンショットを作成できません。しかし、これらはバックログにあるものです!しかし、今、あなたは知っています。

于 2012-09-28T14:55:16.673 に答える