Image.Width gibt immer 0?

rainerdam

Mitglied
Tach zusammen,
ich erstell ein Imageobjekt und von dem will ich die Breite abrufen. Leider bekomm ich immer 0 als Ergebnis.

Kann mir da jemand weiter helfen?

Code:
System.Web.UI.WebControls.Image myImage = new  System.Web.UI.WebControls.Image();

myImage.ImageUrl = "url";

//hier sollte nun die Breite abgefragt werden

danke schoen

RAiner
 
Wird das Image denn korrekt angezeigt ? Wenn das nicht der Fall ist, besteht auch keine Breite größer als 0. Welche Breite sollte denn deiner Meinung nach das Image bei deinem Aufruf haben ?
 
Hi.

Du gibst dem Image-Control nur die Url zu einem Bild, und im HTML Code wird das dann in den normalen img-Tag 'umgewandelt'. ASP.net schaut sich die Bilddatei nicht an oder dergleichen, und von der HTML Seite, beziehungsweise vom Browser bekommts auch keine Rückmeldung wie groß das Bild dann ist. Das bedeutet du kannsts am Anfang nur setzen, das entspricht dann dem width-Attribut im HTML.

MfG,
Alex
 
Danke schoen, is eigentlich logisch.
Hab ich mich ein bisschen von MSDN verwirren lassen, wo drin steht, dass man die
Breite setzten und abfragen kann.

Was muss ich tun um die Breite abzufragen, bevor ich es darstell?
(Ich lasse ein Popup oeffnen, wenn ich auf das Bild klicke, dieses Popup soll eben nur so breit wie das Bild sein.)

Ein system.drawing Objekt erstellen und dann abfragen?
 
habs nun so geloest:

Code:
System.Drawing.Image bildg = System.Drawing.Image.FromFile(Server.MapPath(imgurl));
					double bildwidth = bildg.Width + 50;
					string width = bildwidth.ToString();
 
Zurück