Функция Drawlines не работает правильно в следующих кодах.но он работает правильно, когда те же данные нарисованы с помощью линии отрисовки.Drawlines рисует линии, которые не являются реальными.Каковы ваши комментарии?
Dim uImage As Bitmap = New Bitmap(PictureBox1.Size.Width, PictureBox1.Size.Height, 4, Imaging.PixelFormat.Format32bppPArgb, 0)
Dim Grafik As Graphics = Graphics.FromImage(uImage)
Grafik.Clear(Color.Black)
Dim Offset As Integer = 0
Dim Gain As Integer = 1
Dim Freq As Integer = 1
Dim N As Integer = PictureBox1.Size.Width
Dim D(N - 1) as PointF
' Create Data
'
For i As Integer = 0 To N - 1
D(i).X = i
D(i).Y = Offset + Gain * Math.Cos(i * Freq * Math.PI / 180.0)
Next
' Scale for drawing
'
Dim sx As Double = PictureBox1.Size.Width / (N - 1)
Dim sy As Double = PictureBox1.Size.Height * 0.5
' increase gain
'
sy=sy*32000
' Data to Pixel
'
For i As Integer = 0 To N - 1
D(i).X = D(i).X * sx
D(i).Y = PictureBox1.Size.Height * 0.5 - D(i).Y * sy
Next
' DrawLines is not correct
'
Grafik.DrawLines(New Pen(Color.Blue), D)
' DrawLine is correct
'
For i As Integer = 1 To N - 1
Grafik.DrawLine(New Pen(Color.Red), D(i - 1), D(i))
Next
PictureBox1.Image = Nothing
PictureBox1.Image = uImage
Grafik.Dispose()
Я хотел бы предоставить дополнительную информацию.Ошибки могут возникать, когда Picturebox достигает определенного размера.Размеры для этого примера 720;530 пикселей.получается следующее изображение:
Синие линии не должны появляться на изображении.Должен перекрываться красными линиями.