Avatar billede ha9953 Nybegynder
23. september 2004 - 16:28 Der er 11 kommentarer og
1 løsning

Graphics til en placeholder

Heg har nedenstående sun som opretter en cirkeldiagram. Mit spørgsmål er nu hvordan jeg får smit resultatet i en placeholder?

    Protected beholder As System.Web.UI.Webcontrols.placeholder

    Public Sub Page_Load(Source As Object, E as EventArgs)
        Dim arrLabels(4) As String
        Dim arrData(4) As String
           
        arrData(0) = 9
        arrData(1) = 19
        arrData(2) = 10
        arrData(3) = 13           
       
        arrLabels(0) = “I love it!”
        arrLabels(1) = “It’s ok”
        arrLabels(2) = “It’s Amazing500”
        arrLabels(3) = “It’s Amazing2”               
        cirkeldiagram(arrLabels,arrData,350,350)
    end sub

    Public sub cirkeldiagram(arrLabels As array,arrData as array,imgheight as integer,imgwidth as integer)
        Dim i As Integer
        Dim b As New Bitmap(imgheight, imgwidth)
        Dim g As Graphics
        Dim sum AS integer
        Dim current As Single = 0
        Dim total As Single = 0
        Dim encoderParams as System.Drawing.Imaging.EncoderParameters = new System.Drawing.Imaging.EncoderParameters()
        Dim quality as long
        Dim arrayICI as ImageCodecInfo() = ImageCodecInfo.GetImageEncoders()
        Dim jpegICI as ImageCodecInfo
        Dim x as integer
   
        'Set up graphics
        g = Graphics.FromImage(b)
        g.Clear(color.yellow)
        g.Smoothingmode = Smoothingmode.HighQuality
       
        'Hvor mange data
        For i = 0 To arrData.Length - 1       
            sum += arrData(i)       
        Next i
       
               
        i = 0       
        For i = 0 To arrData.Length - 1       
            current = arrData(i) / sum * 360
            'Områder
            g.FillPie(New SolidBrush(SelectColor(i)), 0, 00, imgwidth, imgheight, total, current)
            'streg
            g.DrawPie(Pens.Black, 0, 0, imgwidth, imgheight, total, current)
            total += current       
        Next i
       
        Dim img as new System.Web.UI.WebControls.image
        beholder.controls.add(img)   
    end sub
Avatar billede repsak Nybegynder
23. september 2004 - 17:11 #1
jeg forstår ikke et kvæk af din VB.NET-kode ;-), men da jeg lavede det i C# var det noget med at lave det til et bitmap som du så kan sende til klienten. (så vidt jeg husker)
Avatar billede ha9953 Nybegynder
23. september 2004 - 17:17 #2
jeps - det jeg skal have lavet er en bitmap - hvilket jeg også fint får gjort - men hvordan kan jeg smide denne bitmap i en placeholder uden at skulle gemme den på serveren.
i øjeblikket skriver jeg følgende : b.Save(Response.OutputStream, ImageFormat.gif) - men det bliver jo så smidt ud så den overtager hele siden - meningen er at jeg skal kunne kalde cirkeldiagram-funktionen og smide den i f.eks en placeholder
Avatar billede jakobandersen Nybegynder
23. september 2004 - 17:21 #3
Lav en webhandler der blot genrerer dit billede on the fly og brug så URL'en til denne som src i dit image.
Avatar billede jakobandersen Nybegynder
23. september 2004 - 17:22 #4
Avatar billede ha9953 Nybegynder
23. september 2004 - 17:23 #5
url'en? - der skulle jo netop ikke gemmes på serveren og derfor heller ingen url
Avatar billede thrytter Nybegynder
23. september 2004 - 17:32 #6
Har ikke lige et eksempel på hånden, men husker at der skal responses i stil med din linie:
  b.Save(Response.OutputStream, ImageFormat.gif)

Prøv et indsætte et billede på siden, og sætte dets src/ImageUrl til siden som genererer din grafik.
Avatar billede ha9953 Nybegynder
23. september 2004 - 17:34 #7
der skal ikke laves nogen side - det hele skal køres fra codebehind - det skal kompiles
Avatar billede burningice Nybegynder
24. september 2004 - 08:08 #8
ovenstående kode du har skal i en imagenerator.aspx-fil. På den side der så skal vise billedet skriver du

<img src="imagegenerator.aspx" />

såre simpelt.
Avatar billede ha9953 Nybegynder
24. september 2004 - 08:58 #9
jeps - men jeg vil helst undgå dette. Synes det ville være smartest at compile koden og kunne hente den ind som en funktion så den kan bruges i codebehind
Avatar billede ha9953 Nybegynder
25. september 2004 - 16:54 #10
hmm - ingen løsninger? - jeg lukker spørgsmålet :-(
Avatar billede burningice Nybegynder
25. september 2004 - 17:12 #11
for fanden... DER ER IKKE ANDRE LØSNINGER !!!!!!!!!!!

du kan jo starte med at læse specifikationerne for html... lige meget hvor meget smart kode du kan lave på serveren, så er du i sidste ende bundet af de begrænsinger der er der, og i dette tilfælde betyder det at du i din html skal HENVISE til hvor billedet skal hentes fra.

System.Web.UI.WebControls.image er IKKE et fysisk billede, men repræsenterer <img>'tagget i html
Avatar billede ha9953 Nybegynder
25. september 2004 - 17:17 #12
så så - jeg spurgte efter en løsning hvor det hele kunne laves så den kunne compiles - det fik jeg ingen løsning på......
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester