Cloning System.Windows.Media.Matrix

时间:2014-07-18 06:26:15

标签: c# .net wpf

由于 System.Windows.Media.Matrix 不提供Clone()方法,克隆矩阵的最佳方法是什么。

我现在正在使用以下方法:

  1. 从原始矩阵创建一个新矩阵。

    public Matrix Clone(Matrix来源) {
      Matrix dest = new Matrix(source.M11,source.M12,source.M21,source.M22,source.OffsetX,source.OffsetY);   返回目的地; }

  2. 将源矩阵与单位矩阵相乘。

    public Matrix Clone(Matrix来源) {   return Matrix.Multiply(source,Matrix.Identity); }

1 个答案:

答案 0 :(得分:3)

从另一个创建新矩阵就像这样简单:

var newMatrix = oldMatrix;

这是因为Matrix是struct,而不是class,因此是值类型,而不是引用类型。

有关详细信息,请参阅Value Types