2012-10-11 317 views
-5

我必須將圖像添加到我的標籤,但我找不到解決方案如何執行此操作。 我使用嘗試此:如何將圖像添加到標籤?

 InitializeComponent(); 
     url = Directory.GetCurrentDirectory() + @"/Cards/cardSkin.png"; 
     mylabel.Background = new ImageBrush(new BitmapImage(new Uri(url))); 

即使我使用這個權利,我不知道,我只是複製這個從別人什麼項目我們做了與類。 無論如何,我試圖創建Image img = Image.FromFile("YourFile.bmp");,但我不知道爲什麼,.FromFile不適合我。 你們中的任何人都有另一種方式來製作標籤作爲圖片(背景),並幫助新手做到這一點? :d

引發的異常:

Error 1 'System.Windows.Controls.Image' does not contain a definition for 'FromFile. 
+0

什麼的代碼是(的winform,WPF,Silverlight的)什麼樣的標籤?你想做什麼,除了「不工作」之外還有什麼問題? – xing

+1

嗯,它沒有用,因爲.NET中有不同的Image類。您已嘗試使用System.Windows.Controls.Image上的System.Drawing.Image的方法。我對Windows Forms一無所知,但請看http://msdn.microsoft.com/en-gb/library/gg145045.aspx - 這是關於API的最佳知識來源。 –

+0

這是wpf標籤。我正在做21遊戲(二十一點),我必須將標籤製作爲卡片圖片。我試圖創建Image類,但FromFile不起作用。 – herblack

回答

0

試試這個

Image img = System.Drawing.Bitmap.FromFile(filename); 
4

這個工作對我來說:

Label ilabel = new Label(); // create a label 
Image i = Image.FromFile("image.png"); // read in image 
ilabel.Size = new Size(i.Width, i.Height); //set label to correct size 
ilabel.Image = i; // put image on label 
this.Controls.Add(ilabel); // add label to container (a form, for instance) 
+0

注:我發現一個標籤是不夠的,很快切換到一個Button,因爲我想要OnClick事件。 我的按鈕有一個Tile對象作爲一個成員,有關於棋盤位置,tilebag位置,圖像等的信息 - 遊戲需要的東西。所以所有的按鈕都是空白的,當你點擊時會變成瓦片 - 想想掃雷。 – Engineer

0

如果您使用的窗體設計器創建一個標籤,確保將AutoSize設置爲false。否則.Width將爲0,因爲文本爲空,並且修改.Size將被忽略。

這樣的代碼將工作:

label1.Image?.Dispose(); // prevent memory leak 
var image = Image.FromFile(@"image.png"); 
label1.Size = image.Size; 
label1.Image = image;