サイズが 1278 X 958 の画像があり、その上で画像処理を行っています。
画像サイズが大きいので、pictureBox で次のコマンドで読み込みます。
imGrayShow = cap.QueryGrayFrame();
picBOriginal.Image = imGrayShow.ToBitmap();
pictureBoxのサイズは299 X 204で、元の画像をpictureBoxに表示するには、
pictureBox サイズ モード = StretchImage
物語はここから始まります:
マウスダウン & マウスアップ イベントを使用して、ユーザーが次のコマンドで選択した領域の位置を取得したいと考えています。
private void picBOriginal_MouseUp(object sender, MouseEventArgs e)
{
if (stopEventMouseDrag == true)
{
endP = e.Location;
if (startP != endP)
{
stopEventMouseDrag = false;
}
}
}
private void picBOriginal_MouseDown(object sender, MouseEventArgs e)
{
if (stopEventMouseDrag == true)
{
startP = e.Location;
}
}
startPとendPとして得られるのは、それぞれ( 145,2)と(295,83)です。しかし、これらはpictureBoxのマウスの位置ですが、元の画像でマウスダウンとマウスダウンの実際の位置を見つけることを期待しています。( => startP: 890,1 endP: 1277,879 )
元のイメージで startP-endP の実際の場所を取得するにはどうすればよいですか?