使用c#调整特定绘图对象的大小

本文关键字:对象 绘图 调整 使用 | 更新日期: 2023-09-27 18:01:43

我选择了一个尺寸为720 X 640的图像框(win形式),并绘制了多边形,矩形,直线,椭圆等几个对象

当我点击保存按钮时,绘制对象的Point (X,Y)'s保存在数据库中。

现在我检索点,并将它们设置在320 X 240图像框中,比例相同。

这意味着我必须调整特定的绘图对象从720 X 640320 X 240

如何用c#调整大小?

使用c#调整特定绘图对象的大小

为了正确地缩放绘图,您需要知道旧位图大小和新位图大小。

var newX = (oldX / oldWidth) * newWidth;
var newY = (oldY / oldHeight) * newHeight;

如果你只存储点的(X, Y)而不能存储oldSize,那么你可以存储PointF(oldX/oldWidth, oldY/oldHeight)并将这些点乘以新图像的尺寸。

如果不能存储浮点数,可以将除法结果乘以某个大数字,并将其强制转换为int并存储结果。加载后,将其除以相同的大整数。但是这会导致一些不重要的精度损失。