我拍摄了 720 X 640 的图像框(获胜形式)并绘制了多边形,矩形,直线,椭圆等对象。
当我点击保存按钮时,绘制对象的Point (X,Y)'s
将保存在数据库中。
现在我检索点并将它们设置在 320 X 240 图像框中,且比例相同。
这意味着我必须将特定的绘图对象从 720 X 640 调整为 320 X 240 。
如何使用C#调整大小?
答案 0 :(得分:0)
为了正确缩放绘图,您需要知道旧的位图大小和新的位图大小。
var newX = (oldX / oldWidth) * newWidth;
var newY = (oldY / oldHeight) * newHeight;
如果你只存储点(X,Y)并且不能存储oldSize,那么你可以存储PointF(oldX / oldWidth,oldY / oldHeight)并将这些点乘以新图像的尺寸。
如果没有浮点值的存储,您可以将划分结果乘以一些大数字并将其转换为int并存储结果。加载后将其除以相同的大整数。但这会导致一些微不足道的精确损失。