sin(x)/ xグラフィックをTimerコンポーネントによってアニメーションモードでPictureBoxに描画する必要があります。私は軸が既に私のpicBoxにあり、グラフィックは0から0を引きます。また、私はこのフォーラムからいくつかのコードを持っていますが、私のグラフィックは左から右に引かれ、左から右に描画する必要があります。アニメーションモードでタイマーで描画する必要があります。誰も私を助けることができますか? 私の描画機能は次のとおりです。TimerコンポーネントによってアニメーションモードでPictureBoxにsin(x)/ xを描画する
private void drawStream()
{
const int scaleX = 35;
const int scaleY = 35;
Point picBoxTopLeft = new Point(0, 0);
Point picBoxTopLeftm1 = new Point(-1, 0);
int halfX = picBox.Width/2;
int halfY = picBox.Height/2;
Size size = new Size(halfX + 20, picBox.Height);
Graphics gr = picBox.CreateGraphics();
gr.TranslateTransform(halfX, halfY);
gr.ScaleTransform(scaleX, scaleY);
gr.ResetClip();
float lastY = (float)Math.Sin(0);
float y = lastY;
Pen p = new Pen(Color.Red, 0.015F);
float stepX = 1F/scaleX;
for (float x = 0; x < 15; x += stepX)
{
gr.CopyFromScreen(picBox.PointToScreen(picBoxTopLeft), picBoxTopLeftm1, size, CopyPixelOperation.SourceCopy);
y = (float)Math.Sin(x);
gr.DrawLine(p, -stepX, lastY, 0, y);
lastY = y;
}
}
Thanxたくさん。 P.P.私の英語で申し訳ありません、私はウクライナ語です。
終了したら、必ず「ペン」を廃棄してください。 'using'ステートメントに入れてください。 –
高尚ですが、私はそれを使用しますペンp =新しいペン(Color.Red、0.015F)。 – Daria
私の答えは私の編集を参照してください。 –