![]() |
1
6
首先,让我们更正您的缩放代码:
我希望您的点保持在浮点形式,因为整数截断错误将很快累积。最好有两个点的副本,一个缩放,一个未缩放。 要确定比例因子,请获取从原始单击到中心的距离与当前鼠标位置到中心的距离之比。
编辑: 对于你的评论,不,你不必重新计算中心。中心不应该移动。 编辑2: 从…起 一号 到 另一个尺寸。如果不断重新缩放,则有两种选择:将形状的一个副本保持为其原始大小,或使比例因子相对于形状的最后一个大小而不是原始大小。我更喜欢双拷贝方法,因为否则即使使用浮点,错误也很容易累积;这也更容易得到正确的逻辑。 |
![]() |
2
1
|
![]() |
3
1
我不精通Python,所以我将尝试用伪代码回答。
你想根据鼠标缩放它,对吗?这总是很棘手,但应该是这样的:
然后按比例缩放相对点:
为了避免舍入错误,您可能希望保留原始点,直到用户完成缩放。 |
![]() |
MickaelG · 如何仅绘制视图背景的一部分 7 年前 |
![]() |
ZeroOne · 使用透明绘制半径角点矩形 7 年前 |
![]() |
schtopps · 博克:空画布的不稳定行为,具有几乎相同的数据 7 年前 |
![]() |
user2363025 · 在imageView顶部绘制背景清晰的矩形 7 年前 |
![]() |
rebble · 使用For循环生成随机视觉噪声 7 年前 |