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的预期黑色矩形,我已经改变了这些数字来填充矩形,也因此这不是问题。
任何人都知道我在做什么错了?所有帮助将非常感谢!
在此先感谢