GDI+关于图片宽度的一个小问题
代码如下:
System.Drawing.Bitmap bmp = new Bitmap(Server.MapPath("aa.jpg"));
for (int num1 = 0; num1 < bmp.Height; num1++)
{
for (int num2 = 0; num2 < bmp.Width; num2 = num2 + 2)
{
bmp.SetPixel(num2,num1,System.Drawing.Color.Black);
}
num1 = num1 + 1;
for (int num3 = 1; num3 < bmp.Width; num3 = num3 + 2)
{
bmp.SetPixel(num3,num1,System.Drawing.Color.Black);//这里是出错的地方
}
}
bmp.Save(this.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
上面的代码,编译时可以正常通过,但打开页面时,系统提示:“使用了无效参数”就是代码上标记的地方出错,我用断点根踪num3的值时发现,它总在最后一次循环提示"num3值无效",也就是,在执行它下面的代码bmp.SetPixel(num3,num1,...)时最后一次循环时num3是一个无效的图片x值,可为什么呢,我把"int num3 = 1; num3 < bmp.Width; num3 = num3 + 2"中的“bmp.Width”换成一个具体小于图片宽度的实际值,10,错误依旧,依然是最后一次循环时出错,而实际用的图片宽度是350,郁闷了,搞不清怎么回事,可为什么前面类拟的代码就可以执行呢,就是num2,num1的就是正常的。