2013-08-01 63 views
0

我想了解如何使用C#在瀏覽器窗口中繪製圖像 - 以及其他已存在的HTML對象。 (想法:放置允許用戶改變圖像的按鈕和表單)。 我在Linux的Mono上做了這個,但是我希望它是可移植的。 我想出到目前爲止是:如何在瀏覽器窗口中放置System.Drawing.Graphics對象

public virtual void button1Clicked (object sender, EventArgs args) 
    { 
     int height = 300; 
     int width = 300; 

     Bitmap bmp = new Bitmap(width, height, PixelFormat.Format24bppRgb); 
     Graphics g = Graphics.FromImage(bmp); 
     // 
     //Draw something on g here 
      // 
     Response.ContentType = "image/gif"; 
     bmp.Save(Response.OutputStream, ImageFormat.Gif); 
     g.Dispose(); 
     bmp.Dispose; 

    } 

這將清除瀏覽器窗口,然後顯示圖像,這不是我想要的東西。 廣泛搜索後,我發現以下教程, http://www.dreamincode.net/forums/topic/67275-the-wonders-of-systemdrawinggraphics/ 其中說,我應該嘗試使用一個控制在我的窗口,或CreateGraphics()方法的句柄。這些似乎都不存在我的.aspx頁面中的「button1」或實體的任何其他ID。那是因爲我在使用Mono嗎?總結,在C#+ asp.net中繪製瀏覽器窗口的最佳方式是什麼?

回答

0

我以前有同樣的事情, 的事情是,如果你想在iFrame或Image控件中使用它,你將不得不將圖形對象/位圖保存到一個位置。

如果您不想將其保存到一個位置, 嘗試使用您的網頁上的服務器腳本: http://www.developerfusion.com/article/2569/creating-images-on-the-fly-with-aspnet/

+0

感謝 - 但據我所看到的,你所提供的鏈接描述的方法相同我的,但在腳本,而不是C#! 我使用錯誤的工具來創建圖形嗎?之前嘗試過javascript + SVG;問題在於很少有瀏覽器正確包含了SVG的所有功能。 –

+0

很好實際上腳本有一個runat服務器屬性,它給你的可能性,把C#代碼裏面,我想知道如果腳本的地方可以在同一地點繪製圖像。 – Shide

+0

謝謝:) ..畢竟我用迂迴的方式繪製圖像並加載。很好地服務了我的目的!我想我可以讓其他方式工作 - 以後再保存。 –

相關問題