Tôi cần vị trí chính xác của con trỏ chuột trên PictureBox.Làm thế nào để lấy lại hệ số zoom của một PictureBox của WinForms?
Tôi sử dụng sự kiện MouseMove của PictureBox.
Trên PictureBox này, tôi sử dụng thuộc tính "thu phóng" để hiển thị hình ảnh.
Cách chính xác để nhận vị trí của con chuột trên hình ảnh gốc (chưa được hiển thị) là gì?
Có cách nào để tìm yếu tố tỷ lệ và sử dụng không?
Tôi nghĩ cần phải sử dụng imageOriginalSize/imageShowedSize để truy lục yếu tố tỷ lệ này.
tôi sử dụng chức năng này:
float scaleFactorX = mypic.ClientSize.Width/mypic.Image.Size.Width;
float scaleFactorY = mypic.ClientSize.Height/mypic.Image.Size.Height;
là có thể sử dụng giá trị này để có được đúng vị trí của con trỏ lên ảnh?
Tôi cho rằng bạn có thể thử: Point cursorPosition = mypic.PointToClient (Cursor.Position); Vị trí điểmOverImage = điểm mới (cursorPosition.X/scaleFactorX, cursorPosition.Y/scaleFactorY) ;. Tuy nhiên, tôi cho rằng có thể có một số vấn đề với độ chính xác khi bạn đếm hệ số thu phóng bằng phương pháp này. Tôi khuyên bạn nên tự mở rộng hình ảnh. –
cảm ơn, nhưng không hoạt động. Vị trí là không chính xác, tôi nhận được cùng một giá trị khi sử dụng vị trí pointtoclient và eventmouseargs. – devilkkw
Vui lòng đăng đoạn mã tính toán tọa độ mà bạn hiện đang sử dụng. –