コード
C#による画像クリック拡大時のクリック箇所をPictureBoxの中央に持ってくる処理ですが、取得する座標は「PictureBox」ではなく、「画像」の方がいいのではないでしょうか?
private void pnlMaster_MouseClick(object sender, MouseEventArgs e)
{
if (picMaster.Image != null)
{
//クリックしたボタンの座標を取得 int x = e.X; int y = e.Y; //100%の画像表示として換算したときの値取得 int nx = x * m_ratio; int ny = y * m_ratio; //拡大縮小処理 clsConst.ChangeZoom(e, ref m_zoomMode); m_ratio = clsConst.CalcRatio(m_image.Size, pnlMaster.Size, m_zoomMode); clsConst.ChangePictureSize(picMaster, m_image, m_ratio); //新しい座標の取得 int nnx = e.nx; int nny = e.ny; //新しい座標の取得 this.AutoScrollPosition = new Point(-this.nnx, -this.nny); }
}
clsConst.ChangeZoom(e, ref m_zoomMode);
m_ratio = clsConst.CalcRatio(m_image.Size, pnlMaster.Size, m_zoomMode);
clsConst.ChangePictureSize(picMaster, m_image, m_ratio);
}
}
質問頂きありがとうございます
全ソースコードをgoogle driveリンクかgithubに上げるなどして下さると解決の役に立つと思います
何度注意を受けてもマルチポストを繰り返すので通報しました。
質問の編集は質問者本人のみ可能です。わざわざ新規投稿する必要はありません。迷惑行為にも等しいので使い方を覚えてください
全然質問が噛み砕けないので、解決するには全コードをください。
> C#による画像クリック拡大時のクリック箇所をPictureBoxの中央に持ってくる処理ですが、取得する座標は「PictureBox」ではなく、「画像」の方がいいのではないでしょうか?
そのように考える理由を書いてください。
[質問するときのヒント](https://teratail.com/help/question-tips)より
> 今置かれている状況を整理し、わかっている範囲とわからない範囲を明確にしましょう
> 問題とは、期待した結果と現状のギャップを指します。問題はあなたが期待した結果を書くことで、より明確になります。
あなたの回答
tips
プレビュー