【发布时间】:2013-09-15 13:08:35
【问题描述】:
嗯,我正在 VB.NET 中调整图像的大小。我已经预定义了将图像转换为特定大小的算法。
我刚刚在算法中发现了一个错误,该错误会导致图像右侧出现白色衬里。调试代码后发现,
Dim grReturn As Drawing.Graphics = Drawing.Graphics.FromImage(bmpReturn)
grReturn.Clear(Color.White)
导致问题。我尝试用谷歌搜索这个问题,发现只有一个 MSDN 链接,上面写着 它会清除整个绘图表面并用指定的背景颜色填充它。
而且我无法理解它在说什么!
我可以通过评论这个 Clear 功能从我的输出图像中删除白边。因为我不知道这个函数实际上是做什么的,所以我不能删除它。
那么,如果有人可以帮助我理解该方法吗?如果我删除此方法会导致任何其他问题吗?
谢谢!
【问题讨论】:
-
您发布的解释听起来非常具有描述性:它将图形(未来图像)的背景设置为给定的颜色。从你所说的来看,你的问题不是因为这段代码“画线”而引起的,而是因为它使整个背景变白并且 bmpReturn 的大小没有占据所有这些背景(因此你看到的白线不超过背景的一部分)。如果你不想要这个效果,就不要使用这行代码;而且,一般来说,您不应该使用您不清楚确切功能的代码。
-
@varocarbas 是的,我同意!所以让我删除这行代码并且测试是正确的。正如我所说,算法已经开发出来,我不知道为什么要使用“清除”方法。你帮了大忙!谢谢!
-
没问题。 Clear() 没有什么不可替代的(如果你不想要背景颜色);只需创建一个新的 Graphics 对象也可以完成这项工作。
-
@braX:你真的要编辑包含clear 的所有600 个问题吗?您至少可以在编辑描述中添加指向元讨论的链接吗?这种类型的动作通常是协调的......
-
哦.. 我不知道 Meta 讨论。它甚至在所有大写字母中都“清楚地”说“不要使用”。我试图提供帮助。
标签: vb.net image-processing drawing system.drawing