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的預期黑色矩形,我已經改變了這些數字來填充矩形,也因此這不是問題。
任何人都知道我在做什麼錯了?所有幫助將非常感謝!
在此先感謝