webForumDet fria alternativet

Text i diagram

1 svar · 315 visningar · startad av asp

aspMedlem sedan aug. 2002733 inlägg
#1

Hej,

Detta är mer en teorifråga än en fråga om ren kod.

Jag har gjort en funktion som skapar ett cirkeldiagram med hjälp av AspJpeg 2.0. Koden ser du här:

<%
Response.Expires = 0
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open Server.MapPath("empty.jpg")

Jpeg.Quality = 100
Jpeg.Canvas.Pen.Color = &H000000

color = Split("FF0000 009900 CC9900 0099CC FFCC00"," ")

str = Request.QueryString("s")
arr = Split(str,":")
total = 0
temp = 0

For i = 0 To UBound(arr)
	total = total + arr(i)
Next

For i = 0 To UBound(arr)
	If arr(i) <> "0" Then
		ny = Round((arr(i) / total) * 360)
		farg = "&H" & color(i)
		Jpeg.Canvas.Brush.Color = farg
		Jpeg.Canvas.DrawPie 100, 100, 100, temp, ny	+ temp
		temp = temp + ny
	End if
Next

Jpeg.SendBinary
%>

Nu vill jag placera text i diagramet, så man ser hur många procent varje del har. Jag har varit inne på att räkna lite cosinus/sinus på vinklarna för att ta reda på x,y-position.

Har ni några tips?

Se själv diagrammet här: http://www.tipnet.se/circle.asp?s=1:3:5

Hälsningar
Marcus

EclipseMedlem sedan juli 20003 825 inlägg
#2

Stilig cirkel!

Testa att lägga in denna koden i slutet, precis före Jpeg.SendBinary

' ## DRAW TEXT
Jpeg.Canvas.Font.Color = &HFF0000 ' Red
Jpeg.Canvas.Font.Family = "Courier New"
Jpeg.Canvas.Font.Bold = True
Jpeg.Canvas.Font.Quality = 4 ' Antialiased
Jpeg.Canvas.Font.BkMode = "Opaque" ' to make antialiasing work
Jpeg.Canvas.Print 10, 10, "Copyright (c) XYZ, Inc."

Förlåt! Jag svara på fel fråga, ser jag nu. Låter svaret vara kvar om det kanske hjälper i alla fall...

124 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)