問題タブ [drawtobitmap]
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.
c# - control.DrawToBitmap() が期待どおりに機能しない
Winform アプリケーションでは、ユーザー コントロールがあります。長方形、円などの形状が描かれています。DrawToBitmap() メソッドを使用して同じスナップショットを取得しようとしています。固定サイズ (300 x 300) のビットマップがあり、ユーザー コントロールのサイズ (600 x 800) であるため、取得したスナップショットにはユーザー コントロールの一部のみが含まれます。
ビットマップ内のユーザー コントロール全体のスナップショットを取得する方法は? 前もって感謝します。
c# - 画面に完全に表示されていない「ズーム」された画像のスクリーンショットを撮る
私のwinformアプリケーションでは、画像のスクリーンショットを撮り、DarwToBitmap()メソッドを使用してピクチャボックスに割り当てようとしています。それは私にとってはうまくいきますが、画像をズームしてスクリーンショットを撮ると、画面に表示されていた画像の一部のみがピクチャボックスに表示されます。ズームされている場合でも、画像全体のスクリーンショットをキャプチャするにはどうすればよいですか。??
これは私がやろうとしていることと非常によく似ています。
datagridview - DataGridView-実際の列幅を取得します
データのテーブルがいくつかあるASP.NETWebサイトを開発しています。このデータの画像を生成して、フォーラムでそれらの画像を表示できるようにします(たとえば)。過去に使用したメソッドは非常に単純です。メモリ内にSystem.Windows.Forms.DataGridViewコントロール(はい、winformsコントロール!)を作成し、スタイルを設定し、いくつかの列と行をロードしてから、そのDrawToBitmapメソッドを使用して生成します。画像(基本的にはコントロールの「スクリーンショット」)。
例:
これは非常にうまく機能しますが、生成する必要のある画像のサイズと、DataGridViewコントロール自体のサイズを計算するのに問題があります。デフォルトでは100x100(私は思う)なので、ほとんどのデータが切り取られますが、画像を明らかにスクロールできないため、画像の生成には役立ちません...
そこで、スクロールバーなしですべてのデータを表示できるように、DataGridViewの幅と高さを計算したいと思います。
これは非常に簡単だと思いました。列をループしてWidthプロパティを合計して合計幅を取得し、次に行をループしてHeightプロパティを追加して合計の高さを取得します。
ここで問題が発生します...各列のWidthプロパティは常に100を返します。これは、列の実際の幅ではなく、列の(デフォルトの)MinimumWidthであると想定しています。したがって、3つの列がある場合、列が実際にはそれぞれ100ピクセルよりもはるかに広い場合でも、グリッドの幅は常に300ピクセルになります。
グリッドを実際にフォームに描画するのではなく、メモリ内にグリッドを作成していることが原因だと思いますか?これでうまくいくと思いますが、どういうわけか、列の幅は常に100です...グリッドと画像の必要な幅を計算する方法がないため、これは私のアイデア全体を役に立たなくします。各列のデータのすべての文字列を測定し、基本的に手動でサイズを変更できると思いますが、実際にはそうではありません...もっと良い方法があるはずですか?
私は何が間違っているのですか?ありがとう!
.net - 親フォームに境界線がある場合、カスタム コントロールで DrawToBitmap を使用すると機能しない vb.net
わかりましたので...フォントサイズに基づいて実際にグリフのサイズを変更するカスタムチェックボックスを作成しようとしています(これを実装しないためにMSにアクセスしてください)。これを適切に行うには、コントロールの OnPaint イベントを完全にオーバーライドする必要があります。ただし、コントロールが透明に設定されていると問題が発生します。
親コントロール(私は今のところ透明度のレイヤーを1つだけ実行しています)に境界線がない場合(具体的にはFormBorderStyle = Noneに設定されているWindowsフォーム)完全に機能します。ただし、それを何かに設定している場合、座標はオフですビットマップの間違ったセクションをつかむ. 違いを示すために、コードの下にスクリーンショットへのリンクを投稿しました. 境界線で正しく配置されない理由がわかりません. クライアントのサイズに関係していると思いますが、できますまた、「drawtobitmap」関数を使用すると、OnPaint は自分自身を ALOT 再帰し、コントロールの描画が遅くなりますが、これを止める方法はありますか?
ここに関連するコードがあります
c# - panel1.DrawToBitmap は DrawLine から線を描画しません
次を使用して線を描いているパネルがあります。
これはすべてうまくいきます。明らかにポイントを変更してより多くの線を描画しますが、それはこの質問には関係ありません。そのパネルをjpgファイルとしてエクスポートしたい。私はこのコードを使用しています:
これにより、空のjpgが出力されます。私のパネルの背景は灰色で、jpg の背景も同じ灰色なので、実際にパネルをエクスポートしていることがわかります。また、保存されるかどうかを確認するためだけにボタンをパネルに追加しましたが、保存されました。そのため、何らかの理由で jpg が描画中の線を保存していません。
visual-c++ - フォーム クライアント領域を装飾 (タイトル バー、境界線) なしで画像ファイルに保存する
フォームのクライアント領域を、装飾 (タイトル バーと境界線) なしで画像ファイルに保存したいと考えています。ClientRectangle と Bounds のプロパティでいくつかプレイしましたが、成功しませんでした。保存された画像ファイルには、常にタイトル バーと境界線があり、右下の部分が欠落しています。私は何を間違っていますか?
もう 1 つ質問があります。最初は DrawToBitmap メソッドで BMP 画像が作成されると思っていましたが、保存した画像を Picture Editor で開くと、PNG ファイルであると表示されます。それでは、BMP/PNG はどちらでしょうか?
私のコードは次のようになります。
事前に何か助けてくれてありがとう!
vb.net - コントロールと図形が重なっている DrawtoBitmap を使用する
フォームの 1 つから繰り返しスクリーンショットを作成しようとしています (つまり、特定のデータを含むフォームを読み込み、スクリーンショットを取得して保存し、次に別のデータを含むフォームを読み込み、別のスクリーンショットを取得するなど)。
フォームに重なっている Shape 要素と Control 要素が含まれています。画面にフォームが表示されると正しい z オーダーが表示されますが、スクリーンショットでは z オーダーが逆になっています。
現在使用している DrawToBitmap メソッドを使用しているときに、z オーダーが逆になっていることを説明しているスレッドをサイトで既にいくつか見つけました。また、コントロールとシェイプの BringToFront() メソッドと SendToBack メソッドを見つけて、それらを使用して z オーダーを調整し、適切なスクリーンショットを取得しようとしました。まだ成功していません。
次に、これらのメソッドに関するShape クラスのドキュメントを読み、次のコメントを見つけました。
BringToFrontメソッドを使用して、LineShape、OvalShape、または RectangleShape コントロールを、特定のコンテナー内の他のすべての線および形状コントロールの前に配置できます。コンテナー内の他の種類のコントロールの前にコントロールを配置しません。線と形状のコントロールを使用して描画されたグラフィックスは、常に他のコントロールの背後に表示されます。
この動作を変更して、DrawToBitmap を使用してフォームのスクリーンショットを適切に撮る機会はありますか? 別の解決策のアイデアはありますか? Graphics クラスの CopyFromScreen メソッドも試しましたが、保存したいフォームを表示せずに、スクリーンショットを保存するプロセス全体が機能するようにしたいと考えています。
asp.net - パネルをasp.netに画像として保存
多くの画像を含むasp.netにパネルがあります。私の問題は、パネル内のすべての画像を1つの画像として保存する方法です。
asp.netでdrawToBitmapを使用することは可能ですか?