C# Graphics.DrawImage是否检查图像是否在剪辑边界内?

C# Graphics.DrawImage是否检查图像是否在剪辑边界内?,c#,C#,例如: 它仍然会运行绘图代码来绘制图像,还是会检查传递给它的点是否会将图像放入剪贴板(剪贴簿)的边界 此外,如果有25幅图像被绘制,那么检查图像是否在边界内会提高性能吗?最好的方法是尝试一下,IMO。请注意,引用的C代码只调用了一个本机方法,我没有看到该方法对剪裁区域/图像边界做了什么。在查看ReactOS的源时,无论是否将任何数据复制到实际目标位图,都会执行大量操作(例如将源图像数据复制到临时缓冲区)。这并不意味着微软也做了同样的事情,这就是为什么你应该测试并找出答案。这是什么 封装GDI+图

例如:

它仍然会运行绘图代码来绘制图像,还是会检查传递给它的点是否会将图像放入剪贴板(剪贴簿)的边界


此外,如果有25幅图像被绘制,那么检查图像是否在边界内会提高性能吗?

最好的方法是尝试一下,IMO。请注意,引用的C代码只调用了一个本机方法,我没有看到该方法对剪裁区域/图像边界做了什么。在查看ReactOS的源时,无论是否将任何数据复制到实际目标位图,都会执行大量操作(例如将源图像数据复制到临时缓冲区)。这并不意味着微软也做了同样的事情,这就是为什么你应该测试并找出答案。

这是什么

封装GDI+图形表面

什么是表面?它是二维矩形

什么是矩形?这是一组点,受边界限制

你能在数组外画一个点吗?没有

所以只有边界内的点才会被画出来?是的

外面的点会被忽略吗?是的

自动地?自动神奇

还有位图?还有位图


尝试内外绘制位图,测量时间并亲自查看

你现在可以在全新的Roslyn动力车上寻找自己
Graphics g = Graphics.FromImage(new Bitmap(400,400));
g.DrawImage(something, new Point(-400,-400))