📚

OpenSeadragon(OSD)の`fitBounds`と`fitBoundsWithConstraints`の違い

2023/07/10に公開

(以下、ChatGPTによる回答です。参考になりましたら幸いです。)

OpenSeadragon(OSD)のfitBoundsfitBoundsWithConstraintsの違いは、制約を適用するかどうかにあります。

OSDは高度なズーム機能とパニング機能を持つJavaScriptライブラリで、深くズーム可能な画像やコンテンツを扱う際に使われます。その中のfitBoundsfitBoundsWithConstraintsは、ビューポート(表示領域)を特定の境界に合わせるメソッドです。

fitBounds(rectangle, immediately): ビューポートを指定した矩形に合わせます。immediatelyパラメータがtrueの場合、アニメーションなしで即座にビューポートをフィットさせます。falseの場合、アニメーションを伴ってビューポートをフィットさせます。

fitBoundsWithConstraints(rectangle, immediately): fitBoundsと同じ動作をしますが、ビューポートのズームとパンの制約を考慮します。つまり、指定した矩形にフィットさせる前に、最小ズームレベル、最大ズームレベル、画像のパン制約などを確認します。これにより、ユーザーが画像をズームやパンしても、設定した制約を超えることがありません。

つまり、主な違いはfitBoundsWithConstraintsがビューポートの制約を適用することで、その制約を超える動作を防ぎます。これは特に、ユーザーが画像をズームイン/ズームアウトしたり、画像をパン(スクロール)する際の振る舞いを制御するのに重要です。

Discussion