使用c#

时间:2015-07-09 10:27:07

标签: c# drawing

我拍摄了 720 X 640 的图像框(获胜形式)并绘制了多边形,矩形,直线,椭圆等对象。

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

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

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

如何使用C#调整大小?

1 个答案:

答案 0 :(得分:0)

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

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

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

如果没有浮点值的存储,您可以将划分结果乘以一些大数字并将其转换为int并存储结果。加载后将其除以相同的大整数。但这会导致一些微不足道的精确损失。