由于 System.Windows.Media.Matrix 不提供Clone()方法,克隆矩阵的最佳方法是什么。
我现在正在使用以下方法:
从原始矩阵创建一个新矩阵。
public Matrix Clone(Matrix来源)
{
Matrix dest = new Matrix(source.M11,source.M12,source.M21,source.M22,source.OffsetX,source.OffsetY);
返回目的地;
}
将源矩阵与单位矩阵相乘。
public Matrix Clone(Matrix来源) { return Matrix.Multiply(source,Matrix.Identity); }
答案 0 :(得分:3)
从另一个创建新矩阵就像这样简单:
var newMatrix = oldMatrix;
这是因为Matrix是struct
,而不是class
,因此是值类型,而不是引用类型。
有关详细信息,请参阅Value Types。