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 に答える