2010-08-09 8 views

Odpowiedz

3

Drogi Kamaal, System.Drawing.Image reprezentuje obraz lub obraz że można render, wydrukować, zapisać do pliku, zmianę rozmiaru, tworzenie miniaturę etc. Ale System.Web.UI.WebControls.Image jest kontrola internetowej, które można wykorzystać do wyświetlaj obrazy na stronach internetowych.

Aby wyświetlić dynamicznie utworzony obraz na stronie internetowej, potrzebny jest jakiś inny mechanizm, który wysyła obraz do strony wywołującej.

Here to artykuł na temat 4guysfromrolla.com, który wyjaśnia tę koncepcję.

Here jest jeszcze jeden na developerfusion.com w C#

znalazłem this bardzo szczegółowy artykuł na MSDN Scott Mitchel.

5

Można tworzyć strony aspx, że powróci pliku obrazu jako tablicy bajtów z odpowiednimi informacjami nagłówki, aby uzyskać obraz będzie można nazwać tę stronę jak imagemanager.aspx?imgid=31337

Następnie na stronie głównej w system.web.ui.webcontrols.image sterowania ustawić ImageUrl własność do ścieżki skryptu:

ctrlImage.ImageUrl = "imagemanager.aspx?imgid=31337"; 

Oto przykład metody do pliku wyjściowego obrazu w imagemanager.aspx:

private void TransmitBytes(byte[] bytes, string outFileName) 
    { 
     Response.Clear(); 
     Response.AddHeader("Content-Disposition", "attachment; filename=" + outFileName); 
     Response.AddHeader("Content-Length", bytes.Length.ToString()); 
     Response.ContentType = "image/jpeg"; 
     Response.BinaryWrite(bytes); 
     Response.End(); 
    } 
Powiązane problemy