报错“Size”是“System.Drawing.Size”和“OpenCvSharp.Size”之间的不明确的引用怎么修改
时间: 2023-10-01 14:04:35 浏览: 124
这个报错是因为在你的代码中同时引用了 `System.Drawing` 和 `OpenCvSharp` 库中的 `Size` 类型,编译器无法确定你所使用的是哪一个 `Size`,从而导致了不明确的引用错误。
为了解决这个问题,你可以通过不同的方式指定使用哪一个 `Size` 类型:
1. 使用完整的命名空间
在代码中使用完整的命名空间来指定使用哪一个 `Size` 类型,例如:
```
System.Drawing.Size size1 = new System.Drawing.Size(640, 480);
OpenCvSharp.Size size2 = new OpenCvSharp.Size(640, 480);
```
2. 使用别名
使用 `using` 关键字为其中一个 `Size` 类型创建别名,例如:
```
using DrawingSize = System.Drawing.Size;
DrawingSize size = new DrawingSize(640, 480);
OpenCvSharp.Size size2 = new OpenCvSharp.Size(640, 480);
```
这样,你就可以通过 `DrawingSize` 来引用 `System.Drawing.Size` 类型了。
希望以上方法可以帮助你解决这个问题。
相关问题
无法将system.drawing.point转化为opencvsharp.point怎么修改
要将System.Drawing.Point转换为OpenCvSharp.Point,可以使用以下代码:
```csharp
System.Drawing.Point sourcePoint = new System.Drawing.Point(10, 20);
OpenCvSharp.Point targetPoint = new OpenCvSharp.Point(sourcePoint.X, sourcePoint.Y);
```
这将创建一个名为`sourcePoint`的System.Drawing.Point实例,然后将其X和Y坐标分配给OpenCvSharp.Point实例的X和Y属性,从而创建一个名为`targetPoint`的OpenCvSharp.Point实例。您可以将其用作所需的类型。
如果您要将OpenCvSharp.Point转换为System.Drawing.Point,可以使用以下代码:
```csharp
OpenCvSharp.Point sourcePoint = new OpenCvSharp.Point(30, 40);
System.Drawing.Point targetPoint = new System.Drawing.Point((int)sourcePoint.X, (int)sourcePoint.Y);
```
这将创建一个名为`sourcePoint`的OpenCvSharp.Point实例,然后将其X和Y坐标转换为int类型后分配给System.Drawing.Point实例的X和Y属性,从而创建一个名为`targetPoint`的System.Drawing.Point实例。同样,您可以将其用作所需的类型。
c# using system.drawing报错
如果您在使用 `using System.Drawing` 时遇到了错误,可能是因为您的项目没有正确引用相关的程序集。请尝试执行以下操作来解决这个问题:
1. 确保您的项目引用了 `System.Drawing` 程序集。在解决方案资源管理器中,右键单击项目,然后选择“添加引用”。在“引用管理器”中,选择“程序集”选项卡,并确保已选中“System.Drawing”。
2. 确保您的代码文件包含正确的命名空间。在类文件的顶部,确保您已经添加了 `using System.Drawing`。
3. 如果您的项目使用 NuGet 管理包,尝试重新安装 `System.Drawing.Common` 包。
希望这些建议能够帮助您解决问题。如果您还有任何疑问,请随时向我提问。