【发布时间】:2013-03-28 11:39:16
【问题描述】:
如何在 C# 中轻松克隆(复制)RectangleF?
显然有一些不优雅的方法可以做到这一点,例如new RectangleF(r.Location, r.size),但肯定有隐藏在某处的.Copy 或.Clone 方法?但是这些都没有为我编译,似乎也没有复制构造函数。我怀疑有一些简单的、C# 标准的复制任何结构的方法,但我还没有找到。
如果它很重要,我的真正目标是创建一个返回矩形偏移版本的方法(因为,令人惊讶的是,RectangleF 没有这样的内置 - 它只有一个 mutator 方法)。我最擅长的是:
public static RectangleF Offset(RectangleF r, PointF offset) {
PointF oldLoc = r.Location;
return new RectangleF(new PointF(oldLoc.X+offset.X, oldLoc.Y+offset.Y), r.Size);
}
(令人震惊的是,PointF 缺少加法运算符,这比它应该的更难看,但这是另一个问题。)有没有更简单的方法来做到这一点?
【问题讨论】:
标签: c# copy geometry clone system.drawing