パネルに画像を描きました。[拡大] チェック ボックスをオンにしてマウス カーソルをパネル上に置くと、カーソルを覆う四角形の領域が拡大されます。どうすればいいですか?Codeproject.com を検索しましたが、そのようなものは見つかりませんでした。
1470 次
2 に答える
2
WinForms ではそれほど簡単ではありませんが、それでも実行可能です。ピクチャボックスの上にコントロールを追加し、カーソルで移動する必要があります (拡大鏡で画像の原点を調整して移動します)。
于 2011-05-11T12:29:51.967 に答える
0
私はずっと前に似たようなことをしましたが、それが最善のアプローチだったのか、それともより良いアプローチが今日存在するのかはわかりません。個々のピクセルに対する拡大強度によって、表示領域のマッピングを決定しました。通常の画像の各ピクセルは、拡大レベルに応じてサイズが異なる小さな Rectangle を表し、ピクセルと同じ色属性も持っていました。
表示領域に収まるピクセル四角形の数を計算し、それを使用して元のスナップショット四角形のサイズを計算しました。左下に到達するまで、すべてのピクセルを上から左に読み取り、スナップショットで各ピクセルに対してこれらの長方形を作成し、表示領域の画像に次々と配置します。
それはうまく機能し、かなり高速でしたが、更新を取得するために表示画像パネルをダブルバッファリングする必要がありました. このアプローチの大きな問題は、オリジナルからズームアウトできないことでした。
私が言ったように、私は土壇場で何かを一緒に泡立てていたので、これを行うためのより良い方法があると確信しています.
于 2011-05-11T12:30:18.390 に答える