2013-02-10 79 views
0

我一直在嘗試爲我正在使用的遊戲做一些地圖的東西。我正在尋找顯示9個地圖文件(我已經閱讀和處理,並有一個將這些地圖文件轉換爲位圖對象的功能)。如何成功將位圖繪製到另一個位圖上?

基本上我有一個位圖陣列和一個大的位圖。每個小的位圖是256x256,大的是768x768,我想以正確的偏移量繪製它們(所以它們都排成一行,每個位圖都被設計爲緊挨着它的前一行,直到行結束,此時一列用於開始下一個3,依此類推)。

我在一分鐘做什麼:

 for (int i = 0; i < 9; i++) 
     { 
      bmpList[i] = getMapFile(sb[i].ToString()); 
     } 

     using (Graphics g = Graphics.FromImage(bmp)) 
     { 
      g.DrawImage(bmpList[0], 256, 0, 256, 256); 
      g.DrawImage(bmpList[1], 512, 0, 256, 256); 
      g.DrawImage(bmpList[2], 0, 256, 256, 256); 
      g.DrawImage(bmpList[3], 256, 256, 256, 256); 
      g.DrawImage(bmpList[4], 512, 256, 256, 256); 
      g.DrawImage(bmpList[5], 0, 512, 256, 256); 
      g.DrawImage(bmpList[6], 256, 512, 256, 256); 
      g.DrawImage(bmpList[7], 512, 512, 256, 256); 
      g.DrawImage(bmpList[8], 0, 0, 256, 256); 
     } 

其結果是,BMP只是一個空白圖像(當我把它轉換成Image.Source,它會顯示什麼證明的其餘部分。代碼我已經做到了這一點:

 Rectangle rect = new Rectangle(); 
     rect.Height = 256; 
     rect.Width = 512; 
     rect.X = 0; 
     rect.Y = 0; 
     Objects.Colour color = new Objects.Colour(); 
     color = colourlist[0]; 
     Graphics.FromImage(bmp).FillRectangle(new SolidBrush(Color.FromArgb(color.r, color.g, color.b)), rect); 

而且它吸引256的高度和寬度512的預期黑色矩形,我已經改變了這些數字來填充矩形,也因此這不是問題。

任何人都知道我在做什麼錯了?所有幫助將非常感謝!

在此先感謝

回答

0

答案是:其實沒有什麼錯與上面的代碼,而我是通過不正確的文件路徑給另一個函數。我的壞,謝謝!