0

我目前正在尝试编写一个可缩放的 UserControl,并且我目前在https://web.archive.org/web/20141229192708/http://bobpowell.net/zoompicbox.aspx上遵循 Bob Powell 的示例,但是,我我试图实现的是缩放到控件的中心点,而不是左上角。

有人对此有经验/想法吗?

4

1 回答 1

1

您需要将控件的值偏移中心,应用比例变换,然后向后偏移。

尝试以下算法来计算新的左上角:

(-old_centre * factor) + old_centre

如果控件为 100,100,则缩放系数为 2 将产生:

((-50, -50) * 2) + (50, 50) = (-100, -100) + (50, 50) = (-50, -50)

缩放系数为 0.5:

((-50, -50) * 0.5) + (50, 50) = (-25, -25) + (50, 50) = (25, 25)
于 2009-10-30T11:20:36.927 回答