Hej, Är indatat som du ska jobba med en Bitmap eller siffror? grunden till bilden är alltid en bmp och indatat är alltid siffror. Det här kanske kan vara nåt. Japp, det fixade biffen :) ... fast, jag kör med asp.net ... inte windows.forms :o Ok, jo det var ju bara ett snabbhack för att visa principen.."Spindel-diagram" och fylla yta?
har lite problem där jag skulle vilja fylla en yta.
För att ni ska förstå vad det är som ska fylla (en bild säger ju mer än 1000 ord) så får ni se bilden "in-action".
http://www.mrwize.nu/hoffedata/mh-graph.aspx?regnr=s45293/98
Det är området in mot centrum som ska fyllas, innan för "topparna" så att säga.
Punkterna "plottras" ut lite olika beroende på vad man väljer för individ att kika på ... om det finns något att visa alltså ;)
Hoppas någon kan hjälpa mig, snarast :o
cya,
/PatrikBSv: "Spindel-diagram" och fylla yta?
OlaSv: "Spindel-diagram" och fylla yta?
Har en "egen byggd" collection som innehåller x- och y- värdena varvid dessa loopas ut och plottrar ut punkter och bygger linjerna mellan punkterna.
En anna liten tilläggsfråga.
Det som ska fyllas behöver vara något transparent ... Sv: "Spindel-diagram" och fylla yta?
Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
'bakgrundsfigur
Dim GfxBgLines As New GraphicsPath
GfxBgLines.StartFigure()
GfxBgLines.AddLine(New Point(30, 10), New Point(120, 30))
GfxBgLines.AddLine(New Point(120, 30), New Point(120, 160))
GfxBgLines.CloseFigure()
'rita
e.Graphics.DrawPath(New Pen(Color.Black), GfxBgLines)
'figur över med genomskinlig fyllning
Dim GfxOver As New GraphicsPath
GfxOver.StartFigure()
GfxOver.AddLine(New Point(50, 0), New Point(100, 50))
GfxOver.AddLine(New Point(100, 50), New Point(10, 200))
GfxOver.CloseFigure()
'160 e alpha värdet: hur mycket opacity/genomskinligt det ska vara.
Dim AlphaColor As Color = Color.FromArgb(160, Color.LightCoral)
Dim AlphaBrush As New SolidBrush(AlphaColor)
'rita linjer
e.Graphics.DrawPath(New Pen(Color.Black), GfxOver)
'rita fyllning
e.Graphics.FillPath(AlphaBrush, GfxOver)
End Sub
End Class
Sv: "Spindel-diagram" och fylla yta?
Men, det e "ju samma sak" ;)
Så här bidde det:
<code>
Public Sub BuildGraph(ByVal positions() As Point)
Dim _graphics As Graphics = Graphics.FromImage(_baseImage)
Dim _points(positions.Length - 1) As Point
Dim _graphPath As New GraphicsPath
Dim _pos As Integer
Dim _firstPoint As Point
_graphPath.StartFigure()
For _pos = 0 TO (positions.Length - 1)
Dim _x As Integer = positions(_pos).X + 1
Dim _y as Integer = positions(_pos).Y + 1
_points(_pos) = New Point(_x, _y)
If (_pos > 0) Then
_graphPath.AddLine(_points(_pos - 1), _points(_pos))
End If
Next _pos
_graphPath.CloseFigure()
_graphics.DrawPath(New Pen(Color.Black,1),_graphPath)
Dim _alphaColor As Color = Color.FromArgb(160, Color.LightCoral)
Dim _alphaBrush As New SolidBrush(_alphaColor)
_graphics.FillPath(_alphaBrush, _graphPath)
_graphics.Dispose()
End Sub
</code>
Tackar, tackar
Nu kan man gå vidare med nästa problem :P
cya,
/PatrikBSv: "Spindel-diagram" och fylla yta?
Nu kan man markera tråden som löst. :)
Ola