在C#中传递Rectangle ValueType时获取“ InvalidCastException”

时间:2018-07-30 15:12:16

标签: c# image-composite-editor

我正在使用Microsofot图像复合引擎(ICE)中的StitchEngine.dll尝试在c#中将图像拼接在一起。我正在尝试使用以下方法导出生成的图像:

StartExporting(string, System.ValueType, Microsoft.Research.ICE.Stitching.OutputOptions, bool)

此方法的说明给出:

public bool StartExporting(string *filename*, System.ValueType *cropRectangle*, float *scale*, Microsoft.Research.ICE.Stitching.OutputOptions *outputOptions*, bool *showCompletion*.

当我尝试调用该方法时,我收到一个InvalidCastException,指出Specified强制转换无效。

我正在执行以下操作:

Microsoft.Research.ICE.Stitching.OutputOptions outOpt = new Microsoft.Research.ICE.Stitching.OutputOptions(Microsoft.Research.ICE.Stitching.ExportFormat.JPEG, 75, false, false, false);
var valTyp = new Rectangle(0, 0, 500, 1280);
StartExporting(myFilename, valTyp, outOpt, false);

有人知道我该如何纠正吗?

1 个答案:

答案 0 :(得分:1)

正如汉斯·帕桑特(Hans Passant)向我展示的那样,正确的类型是System.Windows.Int32Rect。这需要添加WindowsBase作为参考。