Я пытаюсь создать тепловую карту в vb.net, и до сих пор я делал серые круги и отображал растровое изображение со схемой отображения в цветное растровое изображение, как вы можете видеть здесь:
Но как я могу исчезать между серыми кругами? Есть ли простой способ?
Вот как я рисую свои круги в данный момент:
Dim tmpBitmap As New Bitmap(300, 300)
With Graphics.FromImage(tmpBitmap)
'.DrawLine(...)
'.DrawString(...)
Dim pth As New GraphicsPath()
pth.AddEllipse(0, 0, 150, 150)
Dim pgb As New PathGradientBrush(pth)
pgb.SurroundColors = New Color() {Color.DarkGray}
pgb.CenterColor = Color.Black
.FillRectangle(pgb, 0, 0, 150, 150)
Dim pth2 As New GraphicsPath()
pth2.AddEllipse(100, 0, 150, 150)
Dim pgb2 As New PathGradientBrush(pth2)
pgb2.SurroundColors = New Color() {Color.DarkGray}
pgb2.CenterColor = Color.Black
.FillRectangle(pgb2, 100, 0, 150, 150)
End With
Спасибо!
Edit:
Мне это нужно для приложения, очень похожего на то, что делает netspot (www.netspotapp.com), поэтому мне нужно установить точки с помощью измерений, и я хочу, чтобы это выглядело как тепловая карта. Как это:
Edit2:
Образец с помощью LinearGradientBrush.
Если я использую LinearGradientBrush (потому что это проще для тестирования)
Я поставил две точки:
.DrawEllipse(Pens.Black, 45, 45, 10, 10)
.DrawEllipse(Pens.Black, 145, 145, 10, 10)
После этого я создаю LinearGradientBrush с началом круга.
Dim tmpBrush As New Drawing2D.LinearGradientBrush(New Point(50, 50), New Point(150, 150), Color.FromArgb(0, 0, 0), Color.FromArgb(100, 100, 100))
.FillRectangle(tmpBrush, 0, 0, 500, 500)
Это результат, но я не понимаю, как добавить, например, третью точку.