2014年3月30日星期日 --- 北京 晴
今天学习GDI+作图,书上有个GDIPainter的实例:
选择想要绘制的图形,然后鼠标点击拖动绘图。习惯性地往右下角拖动,所以感觉效果还不错。偶然,把鼠标往右上,左上,和左下,矩形就绘制不出来了。绘制矩形的时候(填充矩形也作了类似的修改),修改了一下逻辑,往那三个方向又可以正常绘图了:
case WhichToDraw.DrawRectangle: //graphics.DrawRectangle(pen, startX, startY, diffX, diffY); if (diffX> 0 && diffY > 0) graphics.DrawRectangle(pen,startX, startY,diffX, diffY); else { if (diffX> 0 && diffY < 0) //仅向上 { int tmpStartY= startY + diffY; graphics.DrawRectangle(pen,startX, tmpStartY,diffX, -diffY); } else if (diffX < 0&& diffY < 0) //向上,且向左 { int tmpStartX= startX + diffX; int tmpStartY= startY + diffY; graphics.DrawRectangle(pen,tmpStartX, tmpStartY,-diffX, -diffY); } else if (diffX < 0&& diffY > 0) //仅向左 { int tmpStartX= startX + diffX; graphics.DrawRectangle(pen,tmpStartX, startY,-diffX, diffY); } } break;