2013-04-02 72 views
0

我必須在VisualWebGui的圖片框中顯示圖片。我有字符串格式的圖像。在圖片框中顯示圖像字符串數據。

string ImageString_P; 
FileStream fs_P = new FileStream(LocalDirectory + "Page_2.tif", FileMode.Open, FileAccess.Read); 

byte[] picbyte_P = new byte[fs_P.Length]; 
fs_P.Read(picbyte_P, 0, Convert.ToInt32(fs_P.Length)); 
ImageString_P = Convert.ToBase64String(picbyte_P); 

現在,我該如何在圖片框中顯示這個圖像(ImageString_P)。我應該創建這個字符串數據的圖像,還是我可以直接在PictureBox中顯示這些數據?

如果我將在路徑中創建圖像(假設「c:\ xyz.jpg」)。它將如何(xyz.jpg)顯示在圖片框中。

回答

0

Visual WebGui是一個Web應用程序,因此它基本上需要讓瀏覽器專門請求任何應該呈現的圖形數據,這與桌面應用程序根本不同,您可以簡單地將圖形數據本身分配給PictureBox的圖像屬性。

如果您研究如何將具有PictureBox的網頁呈現給Visual WebGui中的瀏覽器,您將看到PictureBox呈現爲img標記,並且源設置爲Url,該Url負責提供圖像到瀏覽器。當瀏覽器在img標籤上看到Url時,它會向服務器發出另一個請求,以獲取該Url的內容。這個「輔助」請求在Visual WebGui中稱爲網關請求。

要向瀏覽器提供圖形,您需要Visual WebGui應用程序中的某種網關。 Visual WebGui中有幾種類型的預定義網關,例如Images(ImageResourceHandle)和圖標(IconResourceHandle),但在這種情況下,您有一個動態生成的圖像,因此您需要定義自己的網關以提供圖形內容。 ...或者您可以將圖像數據寫入應用程序的Resources \ Images文件夾,然後使用ImageResourceHandle來引用它。

在Visual WebGui中定義自己的網關非常簡單,您可以看到不少例子here

希望這有助於 帕裏

0

你可以這樣做:

string ImageString_P; 
FileStream fs_P = new FileStream(LocalDirectory + "Page_2.tif", FileMode.Open, FileAccess.Read); 

byte[] picbyte_P = new byte[fs_P.Length]; 
this.picMyPicture.Image = new DynamicStreamResourceHandle(contentBitmap, "image/jpeg"); 

,它應該呈現的罰款。

相關問題