Tengo un NSImageView que ocupa toda la extensión de una ventana. No hay borde en la vista de la imagen, y está configurado para mostrarse en la esquina inferior izquierda. Por lo tanto, esto significa que el origen de la vista coincide con el origen de la imagen real, sin importar cómo se cambie el tamaño de la ventana.Obtener los límites de un NSImage dentro de un NSImageView
Además, la imagen es mucho más grande de lo que razonablemente puedo ajustar a escala completa en la pantalla. Así que también tengo la vista de la imagen configurada para reducir proporcionalmente el tamaño de la imagen. Sin embargo, parece que no puedo encontrar este factor de escala en ninguna parte.
Mi objetivo final es asignar un evento de mouse hacia abajo en las coordenadas de la imagen real. Para hacer esto, creo que necesito una información más ... cuán grande es en realidad el NSImage que se muestra.
Si miro el [imageView bounds]
, aparece el rectángulo delimitador de la vista de la imagen, que generalmente será más grande que la imagen.
Lo he intentado. Los marcos, los límites, etc. son todos relativos a los objetos de tipo NSView/NSWindow. Así que pude obtener el marco delimitador de la vista o la ventana en sí ... el problema es que NSImageView no utiliza todos sus límites. Parte de la vista está en blanco. Y lo que necesito es la cantidad por la cual el NSImageView redujo su imagen, o el rectángulo delimitador de donde realmente se dibujó ImageView (en comparación con lo que posee) – wrjohns
Por ahora, voy con una solución alternativa, donde No se permite el cambio de tamaño de la ventana y se eliminan todos los otros elementos de la interfaz de usuario de la ventana (como la barra de título), de modo que conozco los límites de SuperView = NSImageView bounds = el tamaño de la imagen real. – wrjohns
NSImages no tiene marcos. ** Tienen ** tamaños, pero el tamaño es de la imagen a escala completa, no del tamaño en el que realmente están dibujados. – wrjohns