私のアプリケーションでは、ビットマップ (jpg) の表示だけでなく、ズームとパンも制御する必要があります (したがって、マウス ボタンを押すと、ズームされた画像をフレーム内で「移動」できます)。
私がしたことは、フォームにパネルを配置し、次にパネル内にピクチャーボックスを配置することでした(上、左に固定)。
したがって、ズームが必要な場合は、ズームボタンイベントから以下のコードを実行するだけです:
private void ZommInOut(bool zoom) {
int zoomRatio = 10; // percent
int widthZoom = pBox.Width * zoomRatio /100;
int heightZoom = pBox.Height * zoomRatio /100;
if (zoom) {
widthZoom *= -1;
heightZoom *= -1;
}
pBox.Width += widthZoom;
pBox.Height += heightZoom;
}
ささいなうまく機能します。画像がズームされ、パネルにスクロールバーが表示されているため、単純なパン機能が動作しています。
私に欠けているのは、パンにマウスを使用する可能性です-画像を任意の方向にドラッグして、画像の他の部分を表示したいです(たとえば、Acrobat Readerが行うように)。MouseMoveイベントを使用してプログラムでスクロールバーを変更
する方法を探しましたが、それを管理できませんでした。
助言がありますか)?