問題タブ [rendertargetbitmap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - WPF コントロールを BitmapSource に変換する
これは一種の 2 つの部分からなる質問です。まず、このコードが機能しないのはなぜですか?
画像をディスクに書き込むと、黒い画像しか表示されません。以前にこれを行ったことがあり、問題はありませんでしたが、今は何かが私を逃れています...幅と高さ、およびバッファデータを確認しましたMemoryStream とすべてが問題ないように見えます...
これは単なるテストです。実際の目標は、Canvas ビジュアル イメージから BitmapSource を作成することです。キャンバスは、コード内の形状 (ポリラインなど) で描画されています。次に、この BitmapSource を xaml の Image に 1 秒あたり約 60 フレームの速度で渡す必要があります。モック BitmapSource を作成すると Image.Source が CachedBitmap を使用していることに気付きましたが、(黒の) ビットマップを更新するたびに BitmapImage に再バインドされます。
60fps でメモリ内に Canvas を作成し、Image.Source から CachedBitmap として表示される BitmapSource を作成する方法に関する提案はありますか?
c# - RenderTargetBitmapメモリリーク
RenderTargetBitmapからインスタンスを作成して画像をレンダリングするたびに、RenderTargetBitmapを使用して画像をレンダリングしようとしていますが、メモリが増加し、メモリが解放されることはありません。これがコードです。
どうすればメモリを解放できますか、そしてすべてに感謝します。
wpf - RenderTargetBitmap は生データをディスクに保存します
RenderTargetBitmap の高 fps ストリームがあります。それらをディスクに保存して後で処理したいのですが、それらを Png や bmp などにエンコードしたくありません。未加工のバイト バッファを保存したいのです。
それは可能ですか?
ありがとう
wpf - WPF:キャンバスコンテンツをビットマップの問題に描画する
Canvasから継承されたクラスDottedCanvasのカスタムコントロールがあります。これには、TextBoxから継承されたクラスTreeNodeのカスタムコントロールが含まれています。キャンバスコントロールには次のスタイルがあります。
TextBoxコントロールはUserControlにラップされ、独自のスタイルもあります。
次に、このキャンバスをビットマップに印刷しようとしています。
画像はそう見えます:
Canvasにはドットがありません(スタイルは機能しました)が、TextBoxのBorderThicknessは画像上で1のままです。関数のブレークポイントPrepareTree()
は、TextBox BorderThicknessプロパティがゼロに設定されていることを示します(つまり、スタイルも機能します)。画像に「新しい」バージョンのTextBoxを追加するにはどうすればよいですか?
c# - DcRenderTargetからCompatibleRenderTargetを作成する場合の例外
描画パフォーマンスを向上させるために「WindowsAPICodePackfor.NET」で.NetDirect2DAPIを使用していますが、DcRenderTargetからCompatibleRenderTargetを作成すると、常に「Exception from HRESULT:0x88982F80」がスローされます。理由はわかりませんが、 2日間悩みました。そしてここに私のコードがあります:
var renderTarget = dcRenderTarget.CreateCompatibleRenderTarget(CompatibleRenderTargetOptions.None、new PixelFormat(Format.R8G8B8A8UNorm、AlphaMode.Straight)、new size);
「AlphaMode」を「Ignore」などの他の方法に変更すると正常に機能しますが、renderTargetを透明にできないか、描画品質が低下します。
誰かが理由を知っているか、あなたのアイデアを自由に投稿してください。
よろしく!
ありがとう、
c# - RenderTargetBitmapをSystem.Drawing.Imageに変換します
Excelセルに(クリップボードバッファーを介して)渡したい3DWPFビジュアルがあります。
「通常の」BMP画像では機能しますが、変換する方法がわかりませんRenderTargetBitmap
。
私のコードは次のようになります:
私の問題は、またはgr.DrawImage
を受け入れないことです。のみ。System.Windows.Controls.Image
System.Windows.Media.Imaging.RenderTargetBitmap
System.Drawing.Image
Controls.Image.Imaging.RenderTargetBitmap
をに変換するにはどうすればよいですImage
か、またはもっと簡単な方法はありますか?
c# - RenderTargetBitmap が ColumnDefinitions の幅を尊重しない
非表示の列を含む Grid のスナップショットを作成する必要があります (ColumnDefinition.Width = 0 に設定)。
画面上では問題created image
ないように見えますが、すべての列が表示されています(does not respect the ColumnDefinitions)
。RenderTargetBitmap が、これらの変更が存在しない別のレイヤー (ビジュアル レイヤーとレイアウト レイヤー) を見ているためです。正しい ColumnDefinitions を使用してグリッドの現実的なスナップショットを取得する機会はありますか? Rectagnel.Fill = VisualBrush を単純に使用することはできません。これは、これらの画像をサイクルで保存する必要があるためです (すべての反復 = 新しい画像)。
このスニペットのような方法を試しました
c# - なぜすべての座標とサイズがおかしいのですか?
このコードは次の画像を生成しました。
ビットマップが300x300の場合、白い長方形(0、0、400、400)がその一部しか占めないのはなぜですか ?テキストが中央に配置されないのは なぜですか?
グーグルの言葉すらわからない。私は知恵を求めています。
wpf - scrollviewerでWPFデータグリッドのスクリーンショットを撮る
表示する行が多すぎるデータグリッドのスクリーンショットを撮ろうとしています。したがって、スクロールビューアがあります。したがって、データグリッドを RenderTargetBitmap の Render メソッドに入れると、明らかにデータグリッドの表示可能な部分が取得されます。ItemsPresenter はコンテンツの「実際の」幅と高さを持つため、そのコントロールの ScrollViewer の ItemsPresenter を実際にレンダリングするときに、コンテンツのスクリーンショットを撮ることができることを読みました。
残念ながら、私の ScrollViewer には、dataGrid とは異なる Height、ActualHeight、または RenderSize.Height がありません。だから私は常にコンテンツの目に見える部分を取得します。
これを正しい方法で行う方法を知っている人はいますか?実際にはコンテンツ全体が必要です。
コード:
c# - RenderTargetBitmap は、ウィンドウで設定されていない場合、空のコントロールをレンダリングします (Visiblox チャート)
Visiblox チャートを画像にレンダリングして、何百ものチャートを同時に表示できるようにしようとしています。チャートはコードで生成され、表示せずにレンダリングされます。
私が直面している問題は、レンダリング後にチャートが空に見えることです。上のコントロールはチャートで、下のコントロールはコントロールに追加する前にレンダリングされたチャートです。透かしがあるため、一部のレンダリングが行われています。
グラフは、バインディングとデータ コンテキストを使用して設定されています (重要な場合に備えて)。レンダリングする前にグラフを見ると、実質的に空のように見えます。おかげで、 「 UserControl によってバインディングが取得されるのはいつですか?」
そして、これは私が画像をレンダリングするために使用しているコードです: