Panzoom: Característica: Posibilidad de establecer un límite de pan o un límite de relleno

Creado en 23 jun. 2020  ·  4Comentarios  ·  Fuente: timmywil/panzoom

¿Qué problema resuelve esta función?

Describe la solución que te gustaría
La capacidad de establecer un límite de panorámica para los objetos que se desplazan
es decir:
boundaryRatioVertical = {0.8}
boundaryRatioHorizontal = {0.8}

Describe las alternativas que has considerado
El contain: 'inside' tiene un estilo similar, pero necesito poder alternar entre los niveles de zoom mientras mantengo el límite de la relación de relleno

feature votes needed

Comentario más útil

Gracias por responderme tan rápido.

Quizás no entiendo completamente contain: inside . Por lo que entiendo su implementación: el nodo panzoom ya no podrá hacer zoom más allá del cuadro rect de su padre, pero QUIERO que el usuario pueda acercar, contain: inside no permite que mi objeto acerca el zoom más allá de la ventana gráfica.

Mi caso de uso: tengo un mapa histórico de gran resolución: quiero que un usuario pueda desplazarse, es demasiado grande para ver el objeto completo, pero no quiero que un usuario "pierda el mapa" empujándolo demasiado lejos a un lado, que suena como contain: outside pero me gustaría que tuvieran un control total del zoom, para alejar completamente pero para explorar más acercando.

Creo que el problema son las limitaciones con las que me encuentro tanto inside como outside

  • inside asume que la imagen es lo suficientemente pequeña como para caber en la ventana gráfica, y tiene algunos efectos extraños si no
  • outside asume que la imagen debe POR LO MENOS ocupar toda la ventana gráfica

donde podría imaginar un contain: 'bounds' que permitiría que una imagen se acerque y se desplace, y cuando la imagen sea más grande que la ventana gráfica y llegue al borde o esquina, volvería al borde respectivo

Todos 4 comentarios

Gracias por abrir un problema. Perdóneme si no entiendo bien la función, pero ¿no podría lograrse agregando un elemento contenedor y usando contain: 'inside' ?

Gracias por responderme tan rápido.

Quizás no entiendo completamente contain: inside . Por lo que entiendo su implementación: el nodo panzoom ya no podrá hacer zoom más allá del cuadro rect de su padre, pero QUIERO que el usuario pueda acercar, contain: inside no permite que mi objeto acerca el zoom más allá de la ventana gráfica.

Mi caso de uso: tengo un mapa histórico de gran resolución: quiero que un usuario pueda desplazarse, es demasiado grande para ver el objeto completo, pero no quiero que un usuario "pierda el mapa" empujándolo demasiado lejos a un lado, que suena como contain: outside pero me gustaría que tuvieran un control total del zoom, para alejar completamente pero para explorar más acercando.

Creo que el problema son las limitaciones con las que me encuentro tanto inside como outside

  • inside asume que la imagen es lo suficientemente pequeña como para caber en la ventana gráfica, y tiene algunos efectos extraños si no
  • outside asume que la imagen debe POR LO MENOS ocupar toda la ventana gráfica

donde podría imaginar un contain: 'bounds' que permitiría que una imagen se acerque y se desplace, y cuando la imagen sea más grande que la ventana gráfica y llegue al borde o esquina, volvería al borde respectivo

Esto suena como un comportamiento único y no estoy seguro de cómo incorporarlo a la biblioteca. Creo que podría vincularse al evento panzoomzoom y cambiar la opción de contener a 'afuera' cuando se alcanza un límite. Solía ​​tener una opción 'automática' para contain que alternaba entre inside y outside dependiendo del tamaño del elemento en relación con el contenedor. Cuando sea más pequeño que el contenedor, se establecerá en 'inside' , cuando sea más grande, 'outside' . Esto aseguraría que la imagen fuera ampliable pero siempre a la vista. De cualquier manera, dejaré esto en la etiqueta de votos por ahora.

@timmywil en los últimos dos días me he encontrado con esa idea, alternar entre inside y outside , pero eso parece no funcionar como se esperaba, pasando de {contain: outside} a {contain: inside} parece bloquear la imagen en una posición y parece que los zoomIn() y zoomOut están vinculados a la configuración de contenido, por lo que ni siquiera puedo activar un zoomOut a menos que lo active yo mismo. Avísame si hay configuraciones que estoy pasando por alto.

Supongo que son muchas palabras para decir que un contain: auto parece exactamente lo que estoy buscando, ja.

Si hay una votación para la función automática, me complacerá apoyar eso :)

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

nich008 picture nich008  ·  14Comentarios

PrinceDhankhar picture PrinceDhankhar  ·  16Comentarios

timmywil picture timmywil  ·  10Comentarios

rpallares picture rpallares  ·  3Comentarios

adred picture adred  ·  21Comentarios