Avatar billede marn133 Nybegynder
19. september 2005 - 00:02 Der er 10 kommentarer og
2 løsninger

tegne en bitmap variabel ind i asp.net web formen

hej eksperter...

jeg har bøvlet i en uendelighed med en stump kode som jeg har fundet på nettet...

det er en kode der ud fra to arrays kan lave en graf. Problemet er bare at når den viser grafen tegner den oven i siden, dvs. alle mine knapper, og andre ting forsvinder det eneste der er tilbage er grafen...

*****************************************************************
objBitmap.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Gif)

objGraphics.Dispose()
objBitmap.Dispose()
*****************************************************************

fair nok tænkte jeg så gemmer jeg bare objBitmap som en fil og henter den ind i et ”image” på siden...  men nej...  heller ikke det kan jeg få til at virke ordentligt....

mere præcist lyder spørgsmålet derfor:

hvordan får jeg "tegnet" objBitmap på min asp.net side UDEN at den overskriver det hele..

Håber i forstår spørgsmålet, ellers må jeg forklare det nærmere.. :)

/Martin
Avatar billede runesoft Nybegynder
19. september 2005 - 08:18 #1
At skrive den direkte til response objectet vil helt sikkert ikke virke... At gemme den i en fil bør virke. får du gemt filen?
Avatar billede softspot Forsker
19. september 2005 - 11:13 #2
Du kan godt gemme til response.outputstream, men det er vigtigt at den aspx-side ikke leverere andre data end billededata. Dette betyder typisk at du skal referere din aspx-side i et img-tag på en anden side (f.eks. en anden aspx-side), hvilket så gerne skulle medføre at billedet bliver vist korrekt. Nu er det dog ikke helt så simpelt, da du også skal huske at sætte headers (Content-Type) inden du sender data til klienten, men det lader dog til at du har fået noget til at fungere, siden du kan overskrive den eksisterende side med grafik...

Jeg kunne forstille mig en løsning i stil med dette (kort ridset op):

hovedside.aspx (den med billedet og knapperne):
-------------------------------------------------

<img src="genererbillede.aspx">
<asp:Button id="cmd1" runat="server" Text="Test" />



genererbillede.aspx:
--------------------

Response.AddHeader("Content-Type", "image/gif")
objBitmap.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif)
Avatar billede marn133 Nybegynder
19. september 2005 - 18:35 #3
hmmm.. okay ud fra det i skriver vil det vist være det nemmeste at gemme filen, og derefter hente den ind...

jeg har en dropDownlist, når man har trykket på den laver den grafen og gemmer den som en gif. fil...

jeg har bare to problemer:
Avatar billede marn133 Nybegynder
19. september 2005 - 18:40 #4
1. den opdaterer ikke billdet, efter det...  kun hvis jeg trykker opdaterer i browseren.....  det må da kunne gøres smartere...

dvs det er et problem at få den til at hente gif. filen ind lige efter jeg har trykket på dropDownlisten....

2. højde og breden på billedet er ikke lige gyldigt...  sagt med andre ord objBitmap's højde og brede skal helst være = billedets højde og brede...
Avatar billede softspot Forsker
19. september 2005 - 19:43 #5
Du kan lave et nyt billede i en anden størrelse ved at oprette et Bitmap-objekt på grundlag af det originale og deri specificere størrelsen af det nye bitmap. Det nye bitmap kan så være det du gemmer/sender.

Dim smallBmp as Bitmap = new Bitmap(objBitmap, new Size(300,200))

eller noget i den stil (jeg ar vant til C#).
Avatar billede marn133 Nybegynder
19. september 2005 - 23:51 #6
tjaaa...  men dimensionerne i objBitmap er jo allerede sat op, der er ingen ide i at lave en kopi.....  problemet kommer når jeg skal sætte det ind i et "image" på siden.....  der skal jeg jo vælge Height and Width...  kan det ikke sættes til at følge billedets dimensioner... ?
Avatar billede softspot Forsker
19. september 2005 - 23:56 #7
Ok, jeg opfattede det således at billedet var for stort og du dermed havde brug for at skalere det. Du kan vel stadig bruge Bitmap-objektet til at beskære billedet så det passer til den side det skal vises på (så du ikke behøver at angive height og with på img-tag - hvis ellers jeg forstår hvad du siger)...
Avatar billede runesoft Nybegynder
20. september 2005 - 08:00 #8
Kan du ikke lave en dummyparameter på pathen i dit image tag, f.eks. billede.gif?223, og skifte det hver gang browseren skal hente billedet igen?
Avatar billede marn133 Nybegynder
20. september 2005 - 10:59 #9
PERFEKT...!  fik det til at virke..

brugte en fake path som runesoft foreslog....

og fik billdet til at passe efter det softspot skrev...

jeg siger mange tak.... !

i kan jo ligge et svar så i kan få jeres point...

:D
Avatar billede softspot Forsker
20. september 2005 - 11:02 #10
Jamen, velbekomme så... :)
Avatar billede runesoft Nybegynder
20. september 2005 - 11:43 #11
:)
Avatar billede softspot Forsker
20. september 2005 - 14:59 #12
Tak for point :)
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
Kurser inden for grundlæggende programmering

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