Gyors rajzolás PictureBox-ra Visual C#

Gyors rajzolás PictureBox-ra Visual C#
2010-10-30T22:02:50+02:00
2010-10-31T00:01:40+02:00
2022-11-19T16:20:50+01:00
*deleted_25520519
Sziasztok! Egy oszcilloszkóp program van készülőben és a rajzolás eddig úgy ment hogy PictureBox törlés(feketére) és nyégyzetháló rajzolás utánna meg az adatok(görbék) rajzolása.
Azonban ha kész az ábra akkor ugye újrarajzolás jönne ezért kezdenem kell előlről (kép törlés, háló kirajzolás, görbe kirajzolás).

A kérdés az hogyan lehetne gyorssá tenni ezt a rajzolgatást?

Pl olyanra gondolok hogy nem kellene mindíg a hálót kirajzolni csak a görbét eltűntetni de akkor meg a hálóból pixelek is amik egybe estek a görbével az is törlődik.

Elég lenne egy 25FPS érték.

A mostani kirajzoló kód:

{ Graphics GD = Kijelző.CreateGraphics(); Pen GDP = new Pen(Color.FromArgb(GloV.Grid_red, GloV.Grid_green, GloV.Grid_blue), 1); Pen T1 = new Pen(Color.FromArgb(GloV.T1_red, GloV.T1_green, GloV.T1_blue), 1); Pen T2 = new Pen(Color.FromArgb(GloV.T2_red, GloV.T2_green, GloV.T2_blue), 1); GD.Clear(Color.Black); // Törlés // Kijelzőze függőleges vonalak for (GloV.X = 0; GloV.X < 512; GloV.X = GloV.X + 64) { GD.DrawLine(GDP, Convert.ToInt16(GloV.X), 0, Convert.ToInt16(GloV.X), 255); } // Kijelzőre vízszintes vonalak for (GloV.X = 0; GloV.X < 255; GloV.X = GloV.X + 64) { GD.DrawLine(GDP, 0, Convert.ToInt16(GloV.X), 511, Convert.ToInt16(GloV.X)); } // Kijelzőze függőleges vonalak (Beosztás) for (GloV.X = 0; GloV.X < 512; GloV.X = GloV.X + 16) { GD.DrawLine(GDP, Convert.ToInt16(GloV.X), 125, Convert.ToInt16(GloV.X), 131); } // Kijelzőre vízszinte vonalak (Beosztás) for (GloV.X = 0; GloV.X < 255; GloV.X = GloV.X + 16) { GD.DrawLine(GDP, 253, Convert.ToInt16(GloV.X), 259, Convert.ToInt16(GloV.X)); } GD.DrawLine(T1, GloV.T1_Xcor, 0, GloV.T1_Xcor, 255); GD.DrawLine(T2, GloV.T2_Xcor, 0, GloV.T2_Xcor, 255);

Ugyan így kell elképzelni a mostani görbe kirajzoló fügvényt is csak az meg tömbből kiolvasott számokból kötögeti össze vonallal a pixeleket.
Mutasd a teljes hozzászólást!
Felveszel egy megfelelő bitmap-et,
Graphics.FromImage -al pedig tudsz rá rajzolni

Graphics.FromImage(Image) Method (System.Drawing)
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd