図面のビットマップがLoad_Formの外部にレンダリングされない

omixam

描画から画面に作成されたビットマップをレンダリングしようとしていますが、最小化と最大化を再度行った後にのみレンダリングします。

私は次の手順に従います:C#で永続的なグラフィックスにビットマップを使用する

ただし、Load_Formの外部の画面でのみビットマップをレンダリングできます。

私がコードを入れた場合:

using System.Drawing;
...

Graphics graphicsObj;
myBitmap = new Bitmap(this.ClientRectangle.Width, 
        this.ClientRectangle.Height, 
        Imaging.PixelFormat.Format24bppRgb);
graphicsObj = Graphics.FromImage(myBitmap);

Pen myPen = new Pen(Color.Plum, 3);
Rectangle rectangleObj = new Rectangle(10, 10, 200, 200);
graphicsObj.DrawEllipse(myPen, rectangleObj);
graphicsObj.Dispose();

他の場所、たとえばボタンの場合、画像を表示するには最小化と最大化が必要です。

編集:

bmpビットマップグローバル変数です。フォームイベントLoad_Form1でインスタンスを作成します。

bmp = new Bitmap(this.ClientRectangle.Width,
                 this.ClientRectangle.Height,
                 System.Drawing.Imaging.PixelFormat.Format24bppRgb);

再描画のためのフォームのペイントイベント:

private void Form1_Paint(object sender, PaintEventArgs e)
{
    Graphics graphicsObj = e.Graphics;
    graphicsObj.DrawImage(myBitmap, 0, 0, myBitmap.Width, myBitmap.Height);
    graphicsObj.Dispose();
}

ただし、図面を作成したらすぐに描画する必要があります。

TaW

全体像について話さないと、最善の行動方針を推奨することは困難になりますが、2つの可能な目的を単純に想定します。

  • フォームに何かを描画したいだけです

  • または、どんどん多くのものを描画するビットマップを表示したい。

最初に必要なのは、次のPaintようにイベントをコーディングすることだけです

private void Form1_Paint(object sender, PaintEventArgs e)
{
    Rectangle rectangleObj = new Rectangle(10, 10, 200, 200);
    using (Pen myPen = new Pen(Color.Plum, 3))
      e.Graphics.DrawEllipse(myPen, rectangleObj);
}

図面を制御するデータが動的である場合は、それらをクラスレベルの変数またはリストに保存し、Paintイベントで使用できるように必要に応じて変更する必要があります

後者の目的では、ビットマップに追加するときにさまざまなことがあります。

したがって、おそらくクラスレベルを作成することから始めますBitmap

    public Form1()
    {
        InitializeComponent();
        bmp = new Bitmap(this.ClientRectangle.Width,
                         this.ClientRectangle.Height);         
    }

    Bitmap bmp = null;

そして、あなたがこのようにそれに引き込む1つ以上の場所を持っています:

void drawALittle()
{
    Rectangle rectangleObj = new Rectangle(10, 10, 200, 200);
    using (Pen myPen = new Pen(Color.Plum, 3))
    using (Graphics G = Graphics.FromImage(bmp))
    {
        G.DrawEllipse(myPen, rectangleObj);
        //..
    }
    this.Invalidate();
}

変更しInvalidateFormBitmapPaintイベントがトリガーされることに注意してください

また、これらの更新が非常に頻繁に発生する場合は、呼び出しの合間にGraphicsオブジェクトを存続させることをお勧めします。ビットマップのようなクラス変数にするか、すべての更新を行うメソッドにローカルに保持して、パラメータとして描画メソッドに渡します。

フォームのPaintイベントで必要なのは

private void Form1_Paint(object sender, PaintEventArgs e)
{
      e.Graphics.DrawImage(bmp, 0, 0);
}       

また32bppARGB、これが推奨されるデフォルトの形式であることに注意してくださいIsは、どのような場合でも表示するものすべてに使用されるため、最初に使用するのが最も効率的です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SVGのビットマップがSafariでレンダリングされない

分類Dev

ReactTypescriptリストのマップされたテーブル行がレンダリングされない

分類Dev

光沢のある/ Leafletマップがレンダリングされない

分類Dev

Googleの視覚化マップがレンダリングされない

分類Dev

ggplot2の正/負のプロットがきれいにレンダリングされない

分類Dev

許可された無許可のビューに対してブートストラップレイアウトがレンダリングされない

分類Dev

OpenLayersマップがレンダリングされない

分類Dev

動的に追加すると、2番目のGoogleマップが正しくレンダリングされない

分類Dev

ページの読み込み時にMapboxマップが正しくレンダリングされない

分類Dev

Google Maps iOSSDKヒートマップがレンダリングされない

分類Dev

ブートストラップ列の画像が期待どおりにレンダリングされない

分類Dev

OpenGL拡散/鏡面反射光がポリゴンにレンダリングされない(アンビエントのみ)

分類Dev

Angular:ドラッグアンドドロップマットのプレビューが表示されない

分類Dev

ビットマップがimageViewにスケーリングされない

分類Dev

コンポーネントのレンダリング時にReactマップ機能が実行されない

分類Dev

配列のマップを使用してHTMLを作成すると、子コンポーネントがすぐに再レンダリングされない

分類Dev

Plot.lyマップが光沢のあるアプリでレンダリングされない

分類Dev

光沢のあるアプリでレンダリングされないURLテンプレートのリーフレットマップタイル

分類Dev

removeLayerメソッドの後に図面が表示されない:リーフレット

分類Dev

texImage2Dでレンダリングされていないandroidopenglビットマップ画像

分類Dev

バックボーン.jsサブビューが最初のレンダリングに表示されない

分類Dev

HEREマップが完全にレンダリングされたときのどのイベントですか?

分類Dev

d3の散布図のドットがレンダリングされていません

分類Dev

jqueryajaxの崇高なスニペットがレンダリングされない

分類Dev

マリオネット:レンダリング後のコレクションの設定がモデルの追加時に更新されない

分類Dev

React Nativeで.map()を介して生成されたときに、マップマーカーがレンダリングされないのはなぜですか?

分類Dev

画面がHOCでラップされている場合、StackNavigator画面のreactナビゲーションヘッダーがレンダリングされない

分類Dev

リーフレットマップがReact CodeSandboxでレンダリングされない

分類Dev

GoogleマップがReactアプリでレンダリングされない

Related 関連記事

  1. 1

    SVGのビットマップがSafariでレンダリングされない

  2. 2

    ReactTypescriptリストのマップされたテーブル行がレンダリングされない

  3. 3

    光沢のある/ Leafletマップがレンダリングされない

  4. 4

    Googleの視覚化マップがレンダリングされない

  5. 5

    ggplot2の正/負のプロットがきれいにレンダリングされない

  6. 6

    許可された無許可のビューに対してブートストラップレイアウトがレンダリングされない

  7. 7

    OpenLayersマップがレンダリングされない

  8. 8

    動的に追加すると、2番目のGoogleマップが正しくレンダリングされない

  9. 9

    ページの読み込み時にMapboxマップが正しくレンダリングされない

  10. 10

    Google Maps iOSSDKヒートマップがレンダリングされない

  11. 11

    ブートストラップ列の画像が期待どおりにレンダリングされない

  12. 12

    OpenGL拡散/鏡面反射光がポリゴンにレンダリングされない(アンビエントのみ)

  13. 13

    Angular:ドラッグアンドドロップマットのプレビューが表示されない

  14. 14

    ビットマップがimageViewにスケーリングされない

  15. 15

    コンポーネントのレンダリング時にReactマップ機能が実行されない

  16. 16

    配列のマップを使用してHTMLを作成すると、子コンポーネントがすぐに再レンダリングされない

  17. 17

    Plot.lyマップが光沢のあるアプリでレンダリングされない

  18. 18

    光沢のあるアプリでレンダリングされないURLテンプレートのリーフレットマップタイル

  19. 19

    removeLayerメソッドの後に図面が表示されない:リーフレット

  20. 20

    texImage2Dでレンダリングされていないandroidopenglビットマップ画像

  21. 21

    バックボーン.jsサブビューが最初のレンダリングに表示されない

  22. 22

    HEREマップが完全にレンダリングされたときのどのイベントですか?

  23. 23

    d3の散布図のドットがレンダリングされていません

  24. 24

    jqueryajaxの崇高なスニペットがレンダリングされない

  25. 25

    マリオネット:レンダリング後のコレクションの設定がモデルの追加時に更新されない

  26. 26

    React Nativeで.map()を介して生成されたときに、マップマーカーがレンダリングされないのはなぜですか?

  27. 27

    画面がHOCでラップされている場合、StackNavigator画面のreactナビゲーションヘッダーがレンダリングされない

  28. 28

    リーフレットマップがReact CodeSandboxでレンダリングされない

  29. 29

    GoogleマップがReactアプリでレンダリングされない

ホットタグ

アーカイブ