2016-04-01 12 views
1

これは可能ですか?画像の特定の場所に移動する

私は画像内の点のX座標とY座標を保存し、ボタンをクリックするとその領域にジャンプするようなことをしたいと思います。

Panelは、Auto Scrollプロパティがtrueに設定されています。パネル内に画像が大きくなると、パネル内にはPictureBoxが表示されます。だから今私が持っているのはスクロールバーの位置を取得してからPanel1.AutoScrollPositionを使ってその位置に移動することですが、画像のサイズがズームインやズームアウトのように変わった場合を除いて問題はありません。

画像自体や画像ボックスやフォーム内のコントロールではなく、特定のポイントを取得することは可能ですか?現在私が再生している画像は33722 x 4672です。

+0

あなたのプログラムは、C#またはvb.netで書かれていますか?どちらの方法でも、質問するのに受け入れられる方法は、使用している言語にのみタグを付けることです。より多くのユーザーを獲得するために、より多くのタグを追加するのは魅力的ですが、しばしば、私のようなタグを無視してマークするユーザーの方が、より狭いユーザー層になることがあります。たとえば、私はC#タグを無視するので、通常この質問に気付かないでしょう。 –

答えて

0

あなたが探しているものはビットマップクラスですと信じています。
GetPixel()GetPixel()を使用すると、画像のある場所にあるピクセルを取得できます。

ピクチャボックスイメージをビットマップオブジェクトに配置するには、これを行います。

Bitmap bitmap = new Bitmap(mypicturebox.Image); 
bitmap.GetPixel(i, j); 
+0

それはそれだとは思わない。私はちょうどその関数について読んで、それがピクセルの色を得るのに使われていると言います。次に、ピクセルの色を設定する 'SetPixel()'という別の関数があります。私が必要とするのは、大きな画像でそのピクセルに行く方法を見つけることです。 – crimson589

+0

したがって、特定のピクセルに対してインデックス 'が必要です。フォームとの相対的なピクチャボックスとマウスの位置を取得した場合、差をとってマウスがどのピクセルにホバリングしているかを知ることができます。これは、適切なスケーリングを考えればうまくいくでしょう。 画像の拡大/縮小がズーム可能な場合は、それを追跡する必要があります。 – NebulaGrey

関連する問題