C#中Graphics类的fillrectangle和drawimage方法有什么区别?
今天看一个俄罗斯方块的代码,其中的一个函数是绘制一个方块的函数,代码如下:///绘制一个点的方块///</summary>///<paramname="AGraphics...
今天看一个俄罗斯方块的代码,其中的一个函数是绘制一个方块的函数,代码如下:
/// 绘制一个点的方块
/// </summary>
/// <param name="AGraphics">绘制的图像</param>
/// <param name="APoint">绘制的坐标</param>
/// <param name="ABrick">绘制的方块图案,如果为0则表示清除</param>
public void DrawPoint(Graphics AGraphics, Point APoint, byte ABrick)
{
if (ImageList == null) return;
if (ImageList.Images.Count <= 0) return;
if (APoint.X < 0 || APoint.X >= colCount) return;
if (APoint.Y < 0 || APoint.Y >= rowCount) return;
Rectangle vRectangle = new Rectangle(
APoint.X * brickWidth, APoint.Y * brickHeight,
brickWidth, brickHeight);
AGraphics.FillRectangle(new SolidBrush(BackColor), vRectangle);
if (ABrick <= 0) return;
ABrick = (byte)((ABrick - 1) % ImageList.Images.Count);
Image vImage = ImageList.Images[ABrick];
AGraphics.DrawImage(vImage, vRectangle.Location);
}
我不太明白fillrectangle和drawimage两个方法的区别,它们有什么不同?
可能因为没有上下文代码理解起来比较困难,我主要还是想知道它们有什么区别,求助 展开
/// 绘制一个点的方块
/// </summary>
/// <param name="AGraphics">绘制的图像</param>
/// <param name="APoint">绘制的坐标</param>
/// <param name="ABrick">绘制的方块图案,如果为0则表示清除</param>
public void DrawPoint(Graphics AGraphics, Point APoint, byte ABrick)
{
if (ImageList == null) return;
if (ImageList.Images.Count <= 0) return;
if (APoint.X < 0 || APoint.X >= colCount) return;
if (APoint.Y < 0 || APoint.Y >= rowCount) return;
Rectangle vRectangle = new Rectangle(
APoint.X * brickWidth, APoint.Y * brickHeight,
brickWidth, brickHeight);
AGraphics.FillRectangle(new SolidBrush(BackColor), vRectangle);
if (ABrick <= 0) return;
ABrick = (byte)((ABrick - 1) % ImageList.Images.Count);
Image vImage = ImageList.Images[ABrick];
AGraphics.DrawImage(vImage, vRectangle.Location);
}
我不太明白fillrectangle和drawimage两个方法的区别,它们有什么不同?
可能因为没有上下文代码理解起来比较困难,我主要还是想知道它们有什么区别,求助 展开
2个回答
2014-02-08
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询