![]() |
Ein dynamisches Image generieren? ASP.NET
Hallo Zusammen!
Irgendwie habe ich gerade mal wieder eine Loch im Hirn... :wall: <- Vielleicht davon... Ich möchte ein Image <asp:Image id="Image1" runat="server"></asp:Image> Dynimisch mit eine Grafik belegen... (Also nicht mit einer statischen URL eines vordefinierten Bildes) sondern... BMP.LoadFromFile(Image1.Page.MapPath('~')+'\Meinbi ld.bmp'); // Mach was mit dem Bild und dann dem Image1 "zuweisen" Aber Wie? Grüsse Frank :coder: |
Re: Ein dynamisches Image generieren? ASP.NET
Bitte?
Wenn es dir darum geht, ein Image dynamisch zu erzeugen und damit "wie statisch" anzeigen zu können, hier ein Schnipsel aus einem aktuellen Projekt:
Code:
Das musst du nur in eine eigene Seite packen und diese Seite (mit entsprechenden Parametern) als Image-URL benutzen...
int color;
if (int.TryParse(Request["c"], System.Globalization.NumberStyles.HexNumber, null, out color)) { Color fill = Color.FromArgb(color); Response.Clear(); Response.AppendHeader("content-type", "image/png"); MemoryStream ms = new MemoryStream(); using (Bitmap result = new Bitmap(1, 1)) { using (Graphics g = Graphics.FromImage(result)) { g.Clear(fill); } result.Save(ms, ImageFormat.Png); } byte[] b = ms.ToArray(); Response.OutputStream.Write(b, 0, b.Length); ms.Dispose(); Response.End(); } |
Re: Ein dynamisches Image generieren? ASP.NET
Hi!
ne das meine ich nicht, sondern.
Delphi-Quellcode:
Grüsse Frank :coder:Procedure T...Page_Load ...; begin if IsPostback then begin // Was auch immer end else begin Label1.Visible := false; Image1.Wasauchimmer := Func_IchBinneBitmap; //<- Sowas end; end; |
Re: Ein dynamisches Image generieren? ASP.NET
Du musst dem Image zwangsläufig eine URL zu einem Bild mitgeben:
Code:
Image1.ImageUrl = "Pfad zu Deinem dynamisch generierten / dynamisch zu generierendem Bild";
|
Re: Ein dynamisches Image generieren? ASP.NET
Zitat:
Vielleicht mit RenderBeginTag usw.? Frank |
Re: Ein dynamisches Image generieren? ASP.NET
Ich glaube, wir reden gerade furchtbar aneinender vorbei.
Erstml kurz den Ablauf angucken, wie ein Browser an das Bild kommt: Er bekommt eine html-Seite. Irgendwo da drin steht eine URL zu einem Bild. Der Browser ruft das Bild von eben dieser URL mit einem neuen Request ab (sofern diese URL nicht schonmal abgerufen wurde und somit gecached ist). Der Browser zeigt die Seite mit Bild an. Wenn Du nun dynamisch Bilder generieren / austauschen willst, dann bleibt Dir nichts anderes übrig als eine Url (also z.B. via System.Web.UI.WebControls.Image.ImageUrl) in die Seite zu schreiben. Du kannst das daraus resultierende HTML <image url="xyz.gif" alt="Alternativtext" /> aber natürlich auch gerne ohne das Image-Control sondern von Hand erzeugen, wenn Du spass daran hast extra Code zu schreiben. Die Frage ist doch eher: Welches Bild musst Du anzeigen? Also welche URL schreibst Du da rein? Du hast da zwei Möglichkeiten: 1.) Du generierst das Bild zur Laufzeit der ASP.NET-Seite und legst es in ein Verzeichnis ab. Den Dateinamen gibst Du zurück und schreibst ihn als Ziel-Url ins html. 2.) Du schreibst tatsächlich einen http-Handler, der das Bild generiert. Du gibst also eine URL auf diese Handlerdatei in die Seite, die z.B. via Parameter in der Adresse dem Handler sagt, was für ein Bild dieser generieren und zurückliefern soll. Also wo klemmt es bei Dir nun eigentlich? |
Re: Ein dynamisches Image generieren? ASP.NET
Zitat:
(Bin nicht zu blöd nur URL anzugeben.) Es ging mir darum ein - wie auch immer positioniertes ASP Image runat="server" an der entsprechenden Stelle zu rendern. also dem Responsestream (und zwar ohne clrear) im "richtigen Moment" den JPG Stream zu übergeben... Grüsse Frank |
Re: Ein dynamisches Image generieren? ASP.NET
Äh...
Deswegen hab ich das ja oben erklärt: Das was Du willst kann gar nicht gehen. Du kannst das JPG nicht in den Response-Stream der Seite (also da, wo das Image-Control sitzt), einfügen. Damit kommt der Browser zwangsläufig nicht klar, weil er nur HTML erwartet. Du kannst keine Binärdaten in eine Webseite 'einbetten'. Du kannst nur eine URL in die Seite schreiben und der Browser wird dann einen neuen Request für das Bild starten. |
Re: Ein dynamisches Image generieren? ASP.NET
Zitat:
Danke jetzt bin ich wieder "eingenordet" Grüsse Frank :mrgreen: |
Re: Ein dynamisches Image generieren? ASP.NET
Zitat:
Siehe hier: ![]() Sieht dann so aus:
Code:
Damit sollte der Browser keinen zusätzlichen Request schicken :stupid:
[img]data:image/gif;base64,R0lGODlhmwDFAPcAAAAAAAE---eine Menge base64encodedes Zeug---wcHBh8f[/img]
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz