private void Form1_Paint(object sender, PaintEventArgs e)
{
//随机绘制25个矩形,然后一次性显示在窗口
Bitmap mybt = new Bitmap(this.ClientSize.Width, this.ClientSize.Height);
TextureBrush image = new TextureBrush(Image.FromFile(@"D:\项目代码\C#\WindowsFormsDrawGrid\WindowsFormsDrawGrid\Images\life16.png"));
for (int i = 0; i < 25; i++)
{
x = rnd.Next((this.ClientSize.Width-25) / 15);
y = rnd.Next((this.ClientSize.Height-25) / 15);
e.Graphics.FillRectangle(image, new Rectangle(x * 15, y * 15, 15, 15));
}
this.CreateGraphics().DrawImage(mybt, new Point(0, 0));
}
效果如下:
为什么图片显示的不对,没有居中填充????
我感觉,想要显示的图片大小,应该是知道的,然后先把图片做成需要显示的大小,然后再填充到窗口中应该简单的多.
关于居中应该是图片的坐标没有算好,把图片的坐标设置成居中后的坐标,应该就可以了,
如果想自动处理图片居中,填充的话.那么得先调整图片的大小才行..
嗯嗯,确实是图片大小问题,本以为16x16没什么问题的,网格大小是15x15,图片改为15x15就没问题了